Add check whether finalize was already called.
More refinement for executors. Executed tasks keep executor alive. Added initial state and run_now argument to add and try_add.
Added overloads for async, apply, future::then, packaged_task, and futures_factory taking an executor
Fixing const correctness problem