Add register command with proxy and satellite options and tests.
Add proxy support to subscribe, refactor proxy details into a method.

Make register and subscribe options required.
Allow for multiple pools to be specified.
Improved test coverage of common