Completely refactored the client area from a single function closure with a single async loop to a Client class with a separate read and write loop.
Fixed timeout problem on agent_client
Added git link for cryptokit. Fixed share flushing on disconnect.
Bug squashing on the refactor. Everything seems to be stable and operational now. Further testing need obviously...
Changed over AgentServer to pattern after the new StratumServer

* Fixed disconnect bugs with the StratumServer
Fix typo
Added basic pow switching ability.
Part way through porting stratum implementation

Conflicts:

	powerpool/stratum_server.py
Completed functional vardiff implementation. Could still use some tweaking on interval mechanics
Altered log levels to make a bit more sense. Added a lot more logging around the block submission area. Added retries to block submission
More tweaks. Added a default queue that matches reference simplecoin implementation.
Changed default start_difficulty to a more reasonable number. Added a maxsize default of 10 for each connection pool for conservers (default was 1?).
Complete rework of the RPC connection management. Includes priorities for selecting an active polling RPC for GBT. Submits new blocks to all RPCs using separate greenlets in case retries pause for a while. Connections going down is caused by a failed poll, not by connection monitor setting to down.
Added a bit of logging for agent recieve on level INFO
Added a sleep and alert message to block sumission retry. Paranoid try except
Two minor hotfixes
Bugfix for rpc disconnect function