[boost] Using ASIO to wait on a foreign socket being readable, with a timeout