Added PlanOperation::getOperatorId()
Implement a simple copy interface for PlanOperations
Basing TableRangeView on const tables
Fix ctor of hashtable that excepts list of other tables
Adding task dependencies handles done dependencies

Before, adding a done observer to a task with the standard addDoneObserver()
method resulted in a dead lock if that task was already finished. Rather than
having a client check if a task is done before adding a dependency to it, this
is now encapsulated by the addDoneObserver() method.
Added Task successor/predecessor retrieval methods
Added Pipelining interfaces and examples
Performance data helper: Sorted operation durations
Merge pull request #316 from kaihowl/pullrequest/kh-pipelining

Pipelining + Necessary Changes