Wire a Configuration builder (WIP)
Add spec for Configuration

* Namespace all errors via their own `Errors` module.
Add documentation