Some minor spec edits.
Extracted AbstractTaskPlanExecutor out of DefaultTaskPlanExecutor and moved worker Runnable up from ParallelTaskPlanExecutor, so that we always use the same worker logic regardless of execution mode.
Tweak to deprecation doc.
Always take timestamp as early as possible in profile event listener.
Removed some unnecessary method overrides.
Renamed Operation.comparator() to slowestFirst().