Refactor Factory out of Controller package.

Refs #32
Update documentation for Controller package

Closes #54
Removing @package [ci skip] Closes #77
Code style cleaning

Fixing up (mostly) @since alignment.
Suffixing MVC interfaces with Interface
Add setApplication and setInput methods to ControllerInterface
Move the routers into their own package.