make yield::operator[]( error_code) const
make io_service useable for c++03 compilers too
add some examples using boost.asio async_result