libflux: rework message api

flux_msg_create () now takes one argument, the message type.

Instead of scanning and guessing, add a protocol flag to
indicate presence of routing delimiter, and routing accessors
to get/set the flag/delim and manipulate the stack of route
frames.

Treat payload and topic string like other message attributes
with get/set accessors.

Add functions for matching topic strings in place (no malloc).

Expand unit tests.
libflux: rework request functions

Use the new message API internally.

Expose the new request interfaces and mark the old ones
as deprecated.
api: use new request/message API
broker: use new message/request API

Only the minimum changes to ensure rte flags are set
properly, etc..