Fix Issue #675, support direct access to notebook namespace in python without function calls

Use the __getattr__ and __setattr__ metaprogramming methods to allow users to treat the noteobok namespace like regular variables even though they are function calls.