Bug 1087195: Signal success when replying with error

When a Bluedroid call fails and an error is responded, we currently
exit the process. This patch fixes this bug.
Bug 1087195: Add reading and writing of \0-terminated memory in PDUs

Some strings in the HAL protocol are \0 terminated. This patch adds
format-string codes for reading and writing until \0 or the end of
the buffer has been reached.
Bug 1087195: Add Bluetooth Handsfree profile
Bug 1087195: Add Bluetooth A2DP profile
Bug 1087195: Add Bluetooth AVRCP profile