Making the message make more logical sense for the
Route class' InvalidArgumentException
New abstract class for a factory for building Route instances
Abstracting out the route building and pre-processing
into its own factory class, which will allow others to implement their
own Routes and Route building process
Refactoring the Klein respond method by abstracting
out the build process of Route instances