Implemented new config via require

This pull request is incomplete, for review only.
Please disregard old commits, had some merge issues (git noob).

TODO:
* [x] fix tests
* [x] update all configs to the new format
* [x] update the docs in /docs/*