rowcache: add timeout for memcache

Memcache connections can hang under system duress. Adding timeouts
to make sure we can recover if stuff like this happens.
Also, connections are now closed if there is any kind of low level
error. This will allow the connection pool to replace them.
binlog_streamers: get rid of nested ServiceManagers

Nested ServiceManagers create unresolvable race conditions
on shutdown. It's better to have only one at the top level,
and we just pass its context down to all the dependent
services.