RnetClient which provides a durable wrapper for a connection, and raises events for messages and exceptions.