Properly reference python member instances
Simulation takes a reference to them during add(), and the Member.removed() overload releases it (immediately before calling any overloaded removed() methods). This also adds the virtual added/removed/weak_dep_removed methods to all of the Member subclasses, since each one needs its own trampoline class (to be able to intercept the removed() call). Also added a _glue method, which is the complement to others--it exposes the internal optimizer glue members that others() hides.
Showing with 79 additions and 64 deletions