Route Package

Major refactor to the Route package.

* Type checked
* Added custom types
* Added route caching and moved around the compilation process
* Replaced `Configurable` with setters and getters
* Refactored the old route building array format (CakePHP style) to the @ action format (Laravel style)