Add a getAvailableModulePorts method to ModuleServer, and implement it in all implementations; also, deprecate getModules (because it is synchronous and there is an async alternative)
Change BeaconService to handle its own Fiber management, and to interact with the module port assignments on the fiber only.
Rename StandaloneReplicatorTest to C5GeneralizedReplicationServiceTest to agree with the class being tested
Remove redundant test method from C5GeneralizedReplicationServiceTest
Fix that C5GeneralizedReplicationService was not starting the replicator it created
Greatly reduce the responsibilities of class C5GeneralizedReplicationService, rendering it only the minimum necessary adapter to correctly implement interface GeneralizedReplicationService, and having all dependent modules created and handled externally. Change the test code (back) to handle this.
Implement a new method on GeneralizedReplicator, isAvailableFuture(), by which users can be notified that the replicator is ready for use; test now passes
Repair BasicTableCreationTest, which was failing because its assumptions about the methods invoked against the mocked Replicator were incorrect
Add an additional required expectation to the mocked Replicator in OLogShimTest