Rename `Server::ConfigData` to `ServerData`

This moves the `ConfigData` out of the `Server` file and renames
it `ServerData`. This is setup for passing the `ServerData` down
to the route, runner and having its data accessible in service
handlers. Ultimately, its needed throughout Sanfords stack and it
felt wrong to require the server everywhere it was needed. This
moves it to its own file but keeps it associated with the server
by renaming it. This has become very similar to how Deas currently
handles the sinatra object. It is passed through to the runner
and is accessible to the service handler.
`TestRunner`, dependency inject attributes on service handler

This adds dependency injecting attributes on service handlers
with the `TestRunner`. This allows passing more than just params
when using the `test_runner` test helper. The `TestRunner` now
takes a hash of args and it will pull out keys for params, logger
and a request. Any other keys in the hash will be used to try and
write their values to the service handler it builds. This allows
dependency injecting values when a handler is built.

This also changes `Runner` to no longer have an `init` and `init!`
methods. These were originally done when `Runner` was a mixin that
could be used and configured on servers. This is no longer the case
and they were only used by the test runner so there's really no
need to keep these methods.

This also moves the serializing of a response. It is now done
whenever the test runner builds a response, either from initing
or running the service handler, not just when its run. This makes
sure that when a handler halts in its `init!` or a callback, we
also try to serialize these responses to ensure they don't throw
any errors.

Finally, this adds unit tests for the test runner. Previously it
was only tested implicitly via the service handler.
Pass `ServerData` to route, runner and service handler

This adds passing a server's `ServerData` to a route when running
it. The route then uses the `ServerData` to build a runner. This
changes `Runner` to require a server data and forces the
`TestRunner` to build one and `super` it to conform to this. This
makes the `ServerData` available to the runners and also service
handlers, which allows removing usage of `Sanford.config`.

Previously, runners used `Sanford.config` to default their logger
and service handlers used it to default their template source.
Since `Sanford.config` is going away, they needed to get this
data through their server's configuration.

This also makes a small change to runners to demeter their
request params. This is called by the service handlers `params`
method instead of it calling the request and then calling `params`
on that.

Finally, this adds more complete unit tests for `Runner` and
`SanfordRunner`.