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.
Merge pull request #23 from redding/jcr-queue

Add `Queue` and `Route`
Add `Logger` and `NullLogger`

This adds a `Logger` utility and a `NullLogger`. These will be
used to handle summary and verbose logging. This uses a null
pattern depending for whichever logging is not "turned on". In
verbose mode, the summary method returns a null logger which will
accept all the logging calls but won't do anything with them. When
in summary mode, this is reversed.
Merge pull request #25 from redding/jcr-logger

Add `Logger` and `NullLogger`
Update and simplify `Process`

This updates and simplifies the `Process` class. It removes all
the signal logic it had as this is now handled by the
`ProcessSignal`. This also removes the `PIDFile` logic that was
an internal helper in the file. It is now its own separate file
that it just requires. The `Process` is now only about running
a daemon and handling restarting it.

This also removes the tmp process file and switches the cli to
using the real one. This was a temporary placeholder while logic
was being reworked.
Merge pull request #24 from redding/jcr-process

Update and simplify `Process`
wip