Set up autoloading for PSR-4

Setup PSR-4 autoloading
Merge remote-tracking branch 'origin/exception_namespace' into ratelimit_exception_namespace