Move traits back to type_traits header.

This reverts commit 08b7acd63ca59dc88ddae1d8519a3dc45696c9df.
Add associated_allocator, associated_executor.
Fix shutdown issue.
Add executor_work<>::owns_work() function.
Add support for packaged_task.
Add timer function overloads (dispatch_at, etc) that take an execution context.