added an autoloader class for gist to deal with autoloading
removed the Singleton interface and added two more interfaces for functions and global variables adapters for dependency injection and decoupling purposes
renamed and moved files around to mirror the folder tree in the the namespacing organization