Add replace_component, replace_opamp, replace_resistor etc functions
I think one of the major benefits of zero over liso is that everything is present as python objects during runtime. This is helpful particularly when someone is designing a circuit and want to be able to change the circuit quickly. However, for replacing a component, at present we are lacking in having direct simple functions that can do it. Right now, one would need to use remove_component and carefully use add_* functions to add the replaced component. Suggested new features:
- We can make functions called replace_opamp, replace_resistor, etc which will do an error check and replace components with the same kind of component only and copying the nodes information.
- We can also have a generic replace_component function which will give an error if apples are changes with oranges but will work as expected when someone says "replace that 'opa827' with 'lt1128'".