shared/hfp: Add support for HFP HF

This patch add struct hfp_hf plus fuctions to create an instance ref and
unref. This code based on existing hfp_gw
shared/hfp: Add set_debug and close_on_unref API for HFP HF
shared/hfp: Add set disconnect handler and disconnect API to HFP HF
shared/hfp: Add register/unregister event for HFP HF
shared/hfp: Add HFP HF parser

This patch adds parser for AT responses and unsolicited results.
shared/hfp: Add send AT command API for HFP HF

This patch adds handling send and response of AT command.
Note that we always wait for AT command response before sending next
command, however user can fill hfp_hf with more than one command.
All the commands are queued and send one by one.
unit/test-hfp: Provide test_handler function via struct data

This patch allows us to use user defined test handler depends on needs.
Will use it in following patches which implements tests for HFP HF.
unit/test-hfp: Add init test for HFP HF

This patch adds basic infrastruction for HFP HF test plus
init test.

It also moves send_pdu function in the file so it can be used by
test_hf_handler
unit/test-hfp: Add send command tests for HFP HF

This patch adds following tests:
/hfp_hf/test_send_command_1
/hfp_hf/test_send_command_2
unit/test-hfp: Add tests for unsolicited results for HFP HF

This patch adds three test case:
/hfp_hf/test_unsolicited_1
/hfp_hf/test_unsolicited_2
/hfp_hf/test_unsolicited_3
unit/test-hfp: Add some robustness tests for HFP HF

This patch adds folowing tests:
/hfp/test_hf_corrupted_1
/hfp/test_hf_corrupted_2
/hfp/test_hf_empty
/hfp/test_hf_unknown
shared/hfp: Fix possible NULL pointer dereference

Fix missing check if malloc succed.
android/pts: PIXITs and PICS' for L2CAP on PTS 5.3
android/pts: Interim PTS tests results for L2CAP
shared/gatt-client: Fix bug in service changed queue.

This patch fixes a bug where the handle range for queued service changed
events weren't getting stored. This caused service discovery to be
initiated for the 0x0000-0x0000 range, which caused an error response.
shared/gatt-client: Fix bug in service changed handling.

This patch fixes a bug where the upper layer never got notified of a
service changed event if no new services are added within a changed
service range. This also fixes a bug where an empty changed service list
or ATT error caused pending service changed events to not get processed.
tools/btgatt-client: Fix read-long-value offset parsing.

This patch fixes the way read-long-value command parses the "offset"
argument by interpreting it as base 10 instead of 16, which is more
intuitive.
tools/btgatt-client: Fix off-by-one error.

This patch fixes an error in write-long-value command that caused an
extra invalid byte to get sent at the end of the long write value.
tools/btgatt-client: Print prompt on service changed.

The service changed handler now prints the command line prompt if the
changed service list empty.
shared/gatt-db: Fix range handling in read by grp type.

This patch fixes bug in gatt_db_read_by_grp_type in which the range end handle
was being ignored. This caused incorrect results to be sent for a database
where services exists beyond the end handle provided in the request.