TaskHelpers: added Observe(Task) method

- ensure that at least someone reads the Exception property of a failed task
AsyncLINQ: a bit of cleanup
AsyncLINQ: added the "inner has finished" logic to FdbAsyncFilterIterator as well as easier extension points

- OnStarted() and OnStopped() can be overridden to add init and cleanup logic
- MarkInnerAsCompleted() sets the m_innerHasCompleted flag once m_iterator is done
- early dispose of the inner iterator, as soon as possible
AsyncLINQ: refactored the new Prefetch, Batch and Window operators + cleanup

- they now derive from FdbAsyncFilterIterator
- added some unit tests