shared: Use size_t instead of unsigned int for data sizes

Switch to size_t instead of unsigned int to represent the size of
buxton data being serialized. These changes uncovered a few bugs
mostly around use of malloc_usable_size which is not to be used for
getting the size_t malloc was called with.

Also fixup bt_daemon_handle_message's response to send the right data
depending on a get or set response.