Development Merge

Lots of cleanup and changes. Mainly:
- Allow development configurations to be merged with default configurations.
- Reorganize file structure and autoloading logic. Move third party stuff to vendors and fix git submodules.
- Make ads work so that we can make some money.
- Fix the schema.sql to use ```CREATE TABLE IF NOT EXISTS```
- Update README