Add experimental::append completion token adapter.
The append completion token adapter can be used to pass additional
completion handler arguments. For example:
timer.async_wait(
asio::experimental::append(
[](std::error_code ec, int i)
{
// ...
},
42)
);
std::future<int> f = timer.async_wait(
asio::experimental::append(
asio::use_future,
42
)
);