major updates in code and functionality
major updates in code and functionality

- removed manual management for more direct management by python
- updated old-style classes to new-style classes with memory management
- fixed issues with overwriting `__class__` to update the live instance (live classes now use a property to reference the updated class)
- removed LiveEnviroment in favor of a module registry where managed by a metaclass on module reload
- used better naming and added documentation to help with understanding the code
kilon/pylivecoding