Cleanup
Merge pull request #562 from kitskub/client-connection

Separate Session and NetworkSynchronizer
Don't use an upstream parameter except where it can be used to help performance.

And then, only use it sparingly

Begin cleaning up protocol

Signed-off-by: Jack Huey kitskub@gmail.com