parseMessage

Parses an incoming message and tries to find a protocol instance that can handle it. May create a new protocol instance if createProtocolWhenNotActive is set.