part one, set msgid

Not fully ready but nearly there (just need to fix a test I think).
Add FIXME

Signed-off-by: William Douglas <william.douglas@intel.com>
Don't check label on client test

Clients do not care about the label status and shouldn't depend on it
being set any particular way.

Signed-off-by: William Douglas <william.douglas@intel.com>
part two, update API

Signed-off-by: William Douglas <william.douglas@intel.com>
part three, add hashmap initialization and locking

Change client open to only allow one open per process.
part three, Add callback functions to API definitions

Signed-off-by: William Douglas <william.douglas@intel.com>
shared: Add check for null array in buxton_array_free

Signed-off-by: William Douglas <william.douglas@intel.com>
part three, Register callback functions

Add callback functions to callbacks hash that will be checked in
buxton_wire_get_response. Also check has every time we get a response
in order to purge timed out responses.

Signed-off-by: William Douglas <william.douglas@intel.com>