Add another missing mutable.
Document behaviour of join().
Ensure shutdown_context is idempotent.
Partial implementation of executor_wrapper typedefs.

Implemented argument_type, first_argument_type and second_argument_type
for plain function pointers and references.
Add pipeline example.