Cleanup, fixes and new features around Sinks
In details :
- small fixes on the BaseSink interface
- new regular flushing feature for BaseSink
- a new flush method was added, called both at the end (finalize) and regularly if auto flush is activated (via non 0 AutoFlushPeriod property)
- new unit testing for BaseSink, both for the regular flushing and previous existing (and not yet tested) features
- replaced virtual methods toJSON, reset and mergeAndReset with free functions
- adapted existing Sinks to new features
Edited by Sebastien Ponce