Add `Router` and `Route` for routing and running services

This adds a `Router` and `Route` class. The `Router` will replace
part of the `Host` and `HostData` logic for routing services. This
also adds a `Route` class that will be built when a service is
added to the router. This will handler building and running a
`SanfordRunner` and returning the response. This follows Deas'
implementation and is part of the effort to modify Sanford's
configuration and startup logic.

@kellyredding - Ready for review.
@jcredding we discussed not breaking out a separate exceptions file right now.  Let's just dup this error def in the route file since the host data version will eventually be going away.