PSR-4 Autoloading

This moves us to PSR-4 autoloading without changing the directory structure.
This is wrong the namespace sperator in php is `\`, you have not tested this before doing the PR.