clarify the REQUIRE for omapi_message_unregister.
allow omapi_message_send to be called with a protocol manager object
in addition to a protocol object.
always remove the reference added to the object referred to in an UPDATE
operation, not just on error. it is a temporary variable and the extra
reference kept the object from being freed.
insist the message being destroyed in message_destroy is unregistered,
which follows logically from how message_destroy would be called anyway.