Add `Queue` and `Route`

This adds a basic `Queue` and `Route`. These will be used to
define queues and add routes to them. The queue is where job
routes are defined and also knows its redis key. This will be
used when adding jobs to the queue and reading jobs that need to
be processed. Routes are a name and a handler class name. When
a route is validated, the handler class name is constantized.
This will be done when a daemon is started so it can quickly route
and run jobs when they are pulled off of redis.
Add `DaemonData`

This adds a `DaemonData` class which handles "compiling" a daemons
configuration. This is done for speed and to provide a simple
object for passing around the daemon configuration. This provides
methods for easily looking up a queue and route, which will be
used to run a job handler. The daemon data also provides a the
redis configuration which will be used to build a redis connection
when the daemon is run.
wip