Mark RabbitBus methods with virtual
Make Rpc members protected so it can be extended

Marked members as protected and extracted some code into protected methods
so that I can extend Rpc without duplicating a lot of its implemenation.
Merge pull request #227 from carolynvs/rpc-extensibility

Allow extending the Rpc class