First half of a codebase wide rework
* Moving even more towards a loosely coupled Component architecture in an attempt to make more flexible
* A lot of common configuration handling/logging/stats collecting patterns have been moved to a Component object. Instead of inheriting from Greenlet it actually just manages starting and stopping class methods as their own Greenlet. This is because most Components manage several separate threads, and merging them into an overriden Greenlet was cumbersome and messy.
* Removed the currently unused client manager (was changing into StratumManager a while ago)
* The manager reference was moved to a global, but this was later changed back...
* All stat counter references are now held at the component level, although they're still rotated by the managers _tick_stats thread

Reporters
=========
* Pretty much completely reworked reporter flow into heigharical abstraction model. Base `Reporter` handles block submission in it's log_share method and no-ops for all actual logging methods
* StatManager collects shares into one minute groupings and calls log_one_minute once the minute has passed. Also tracks shares per address for vardiff, although this might need to change
* RedisReporter now follows a pattern that puts a processing Queue on top of the regular report calls. This will likely be abstracted since the queue pattern is useful for many things.
90% of big 0.6 rework complete, ready for more intensive testing

Jobmanager
==========
* Multi-connection (and all connection management really) functionality has been moved out to a mixin class for use in AuxMonitor as well
* Block submission values are now passed back via Greenlet return semantics. This is much cleaner, especially now that the Reporter is doing the submission, then it can easily pass the information to the appropiate add_block call. Also means that the reporter doesn't have to care where the stratum client got the job from...
* All new job annoucements are now handled via events. Much cleaner since stratum servers can now subscribe to the jobmanager that they want. Main downside is no ability to partially move clients from one jobmanager to another.
* MonitorAuxNetwork finally got reworked to follow new Component semantics. Network data is now pulled by the Jobmanager that want's it, instead of being pushed (messy...)
* All actions that require a live connection now wait for a _connected event to prevent spamming RPC connection problems (only logged by _node_monitor).
* All calls to RPCs now properly use call_rpc to centrally handle downing connections and raising a single exception

Library
=======
* Added several useful utilities to the loop decorator, allowing setup and teardown functions and exceptions that should exit
* Eliminated the default __init__ in Components, introduced too much magin and boilerplate/workarounds...
* Moved stat managers there, makes more sense than the monitor file

Manager
=======
* Now supports loading an arbitrary number of Components via a list based configuration file. Each component then has semantics to lookup which components it interfaces with. Allows multiple stratum ports to use multiple jobmanagers in the same process.
* Exit procedure now supports multiple SIGINT calls to do immediate shutdown

Monitor
=======
* Has now been reorganized into a class for cleanliness sake. Assumes there's only one of each type of component and shows stats for that component, so support is quite tenuous atm. Still needs work for sure
* Most status messages are still broken, so not yet ready for Simplecoin

Reporter
========
* Several bug fixes, and adaptation to process return values from jobmanagers

StratumServer
=============
* Completely removed concept of stratum manager. Each server is now a discreet component that tracks all it's own stats, etc. Sources that need composites should just ask all servers. This is mostly only needed by stats collection, and can be easily wrapped, so it makes more sense I think.
* Concept of donation addresses have been removed. It makes more logical sense to just filter invalid addresses to something and allow the payout processing to determine what to do with invalid addresses (or valid addresses for the wrong currency.) Reduces duplicate configuration info
* Server now handles actual pushing of jobs triggered by the jobmanager's evemt
* Manages it's own Agent server, although support is still broken

StratumClient
=============
* No real functionality changes, but a lot of tweaks and cleanup. Class now uses two greenlets that get spawned by the Client's start method, and "handle" is run in raw mode by the Gevent Hub which makes much more logical sense flow wise.
* A few methods have been inlined, parsing is a bit more resiliant to bad data.
* All loops now use @loop deco because of improved functionality
* A few useless/superfluous attributes have been eliminated
* Shutdown is now handled by a unified `stop` method allowing external callers and internal callers to stop the client in a clean and complete way