Add `ProcessSignal` and `PIDFile`

This fills out the `ProcessSignal` class and adds a `PIDFile`
class. The `ProcessSignal` is used to manage a running Qs process.
It uses the configured pid file path to read the pid of the running
process and sends a signal to it. This is used by the `CLI` to
stop or restart a Qs process. The `PIDFile` is an internal tool
that handles reading, writing and removing pid files for the
`Process` and `ProcessSignal`. In a separate commit, I will update
the `Process` to use this `PIDFile` as well.
Merge pull request #22 from redding/jcr-process-signal

Add `ProcessSignal` and `PIDFile`
Change `Daemon` module organization

This changes the `Daemon` module organization and changes how its
modules are defined. The file now opens both `Qs` and the `Daemon`
module which changes the amount of leading spaces for almost every
line in the file. This also reorganizes the modules to match how
`Sanford` organizes its modules for its `Server`. This is to make
them similar and easier to see the similarities and differences
between the libraries. This doesn't change any functionality, just
changes the organization of the code.

/cc @kellyredding
Remove `Config` tests

I removed this logic but forgot to remove the tests that go with
it. This is because I can't run the full test suite while I'm
reworking logic. This removes these tests that are no longer
needed.

/cc @kellyredding
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.