Adding manager layer
Renamed tranport driver's manager_driver to manager

Should be more consistent with manager layer
Adding storage layer
Refactor access to drivers from controllers

Also refactors transport controllers to have a reference back to
the driver, to match the functionality in other layers
Refactor driver properties

Made real properties for holding dependent layers (which should not
change throughout the lifecycle of the application). We may need to
change this for testing but let's start with locking things down.
Merge pull request #2 from BryanSD/manager

Everything