Refactoring: ReaderStrategy separated from the CheckpointStrategy
Refactoring: query source definition moved out of V8 projections
Changed: registering projections as a subsystem + running readers even with
disabled projections
Fixed: exception when non subsystems
Added: support projections in integration testing
Changed: deeper separation of event readers from projections
Refactoring: projection -> EventReader where applicable; simple way to create
a checkpoint strategy
Added: feed reader service
Added: basic feed reader implementation + tests
Added: feed reader tests
Added: enabled testing message based integration between components
changed: message based integration testing with When() only yielding messages
Added: feed reader tests - multiple sequential reads
Added: balancing message forwarder + forward FeedReader.ReadPage messages from
the ProjectionsMaster to ProjectionCore queues
Added: ProjectionsController /projections/read-events basic implementation
(not tested)
Changed: when not running projections still start some projection related
services, but do not start projections
Added: read-events returns empty event list, but 200 OK
Fixed: incorrect attempt to join heading event reader by finite event reader
Added: correct output JSON format in feed reader
Changed: projection debugging via /read-events instead of built-in event
collector
Removed: debugging support in projections CoreProjection.cs
Fixed: FeedReader tests
Refactoring: renamed EventPosition to TFPos in order to allow future merge
with core TFPos