Merge pull request #15 from Blackshawk/master

Additional refactoring
sonido2 -> sonido
Confusion about job strategies
Tests can just be placeholders for now
Move Sonido\Redis to Sonido\Adapter\Redis
Merge branch 'master' of https://github.com/Sonido/Sonido
Use Predis

Switched to use the Predis library since it provides a lot of these
low-level Redis interactions. This will make mocking Redis in the
future for unit tests easier, and also scaling out to multiple Redis
instances.
Make stat and status more abstract

Removes hard Redis implementations of Stat and Status and instead
provides a pair of generic classes that can then query any adapter.
This removes the need for each adapter to provide their own Stat &
Status implementations.

Also provides interfaces for these classes.

Renamed Stat to Statistic to avoid confusion.

fixes #18
Exception cleanup

Tried to organize exception classes more logically.
Refactored Worker classes

This is an initial attempt at cleaning up the Worker system.

* Removes the need for a model.
* Removes the need for an abstract base class.
* Provides an interface.
* Relies on Spork for forking.
* Relies on the StrategyInterface for actual job execution.

This is not yet complete! But I think it is a step in the right
direction toward making the class design more sane and usuable.
Refactor Job Strategies

Removes the need for strategy classes to know about the Worker (this
was a circular class reference - not good design). Classes now are
strictly responsible for job execution - whether they want to fork,
thread, or run in process is up to them.
Cleanup and Predis calls

Some small cleanup and switched some things over to make sure they call
the Predis\Client instance.
Support new refactors

Made changes to Sonido Comand so it supports the new class structure.
It will continue to get simpler from here on out as job execution and
the managers are simplified.