Refactoring Consumer class. Pull all configuration into a ConsumerConfiguration class and encapsulate

the Router instance inside of the Consumer itself. Added IObservable and partial tracking of subscriptions via disposables.
Merge remote-tracking branch 'origin/master'

Conflicts:
	src/Consumer.cs
	tests/RecoveryTest.cs
fix build