HubDispatcher should not allow duplicate hub names as currently it happily adds each entry to a list and then enumerates over it doing work, e.g. creating a new instance of that hub. It should remove duplicates before adding to the list.
Throws if there's duplicate hubs in connection data.
- Added unit tests.