Add io_service::restart() and deprecate io_service::reset().
New executors framework.
Update basic_waitable_timer to proposed interface.
Enable move-only handlers.

All async operations and executor operations support move-only
handlers. However, the io_service::post(), io_service::dispatch(),
io_service::strand::post() and io_service::strand::dispatch() functions
still require copyable handlers.