use boost::allocator_arg_t in promise and packaged_task
add example using boost.asio async_result feature
enhance docuemntation