Fix Session Extension

* Refactored the Extension system to comprise a "build" method for
handling building components that do not expose commands/facades, added
filter to support this.
* Added the SessionFacade to act over $_SESSION
* Improved handling of Sessions in the extension options to allow for
PHP's inbuilt handling to be used