Openet enhancements: reconnect, transaction homing, perfomance tweaks

Same here, `m_socket.read_some` may not read all requested number of bytes in one call.