Start reorganizing files
Merge branch 'master' into controller-package
Refactored the config layer.
API polish.
Clean up tests and type checker.
Made ArgumentList a common type.
Merge pull request #30 from milesj/controller-package

Controller Package