Sequential task execution policy

This patch 
 - adds a new execution policy for the parallel algorithms: `sequential_task_execution_policy` (for sequential asynchronous execution)
 - renames `task_execution_policy` to `parallel_task_execution_policy` (for parallel asynchronous execution)
 
Both asynchronous execution policies can be specified by adding the `task` modifier to the predefined `par` and `seq` execution policies. FOr instance:

    vector<int> v = { ... };
    future<void> f = parallel::for_each(seq(task), begin(v), end(v), [](int v) { ... });

(or `par(task)`, respectively).

All of the documentation and all tests have been updated as well.