Problem: Can't publish messages with mshell

Actually mshell crashes while trying to send the message.

Solution: Fix off-by-one error causing the crash.
Problem: lack implementation for SERVICE OFFER

Solution: implement simple service bus in broker, and extend
SERVICE OFFER command to have reply OK/ERROR from server. Add
to mlm_client test case.
Problem: not freeing message after recv

Solution: client has to free received message
Problem: need service distribution

Solution: implement SERVICE commands

Fixes #22

Note, until credit based flow control is implemented, service requests
are sent on round-robin basis without any waiting. This is not yet a
load-balanced queue.