Forced explicit session initialization in all managers.

The relevant change is here in Manager.py:

    def __init__(self, path=None, session=None):
        assert session is not None

This makes sure that a session object is getting passed around to all managers
initialized during use of the system.