android: Start command watch after notify channel is connected

Daemon should start processing commands only after both communication
channels were connected.
android: Fix bt_adapter_init

Make bt_adapter_init return void and use ready callback for error
reporting. This also fix returning incorrect status and invalid
mgmt_if unref (mgmt_send return 0 on error or >0 on success).
android: Remove not needed adapter parameter from bt_adapter_ready

There is no need to pass adapter pointer in bt_adapter_ready callback
as there is only one present.
android: Use default adapter in adapter functions

There is no need to pass pointer to adapter between function as there
is only one adapter in android daemon. Also default_adapter is renamed
to adapter.

There is no need to pass adapter pointer as user data since there is
only one adapter present.
android: Use adapter index in mgmt functions

Instead of hardcoding index 0 use real index of adapter. This fix
using invalid index if adapter ID happens to be different than 0.

This should not happen on Android but is possible while testing on
Linux PC.
android: Fix debug logs when running on Android

Current Android log backed dones't enable debug logs. Instead of coping
code from src/log.c, just use it on Android as well.

No functionality is lost as currently Android log backed only prints
to standard output.
android: Make haltest and bluetoothd depend on HAL lib

The patch makes haltest and bluetoothd depend on bluetooth.default target
which is already defined. glib dependency Android resolves itself.
Fixes issue that for the fresh build only bluetooth.default.so is built.
android/client: Fix various coding style issues

Mostly indentation of arguments in functions and calls.
Prefix p remove from puser/penum_func.
Some empty lines added after closing } when needed.
Magic number for string length changed to preprocessor define.
Added spaces after casts.
android/client: Fix incorrect casts of addresses

This fixes printing of addresses.
If char is set to be signed (as it should) some addresses were
printed with leading FFFFFF.
android/client: Add source command to haltest

New command allows to read script file into tool and
execute its contents as if it was typed.
android/client: Add processing of .haltestrc

This patch allows tool to read commands from .haltestrc.
So it is possible to call some functions that are typically used.
So user can have:
  adapter init
  adapter get_profile_interface socket
  adapter get_profile_interface pan
  adapter get_profile_interface hidhost
  adapter get_profile_interface a2dp
  pan init
  av init
android: Remove not needed local variable in connect_hal

err variable was set but never read.
android: Add properties defines to hal-msg.h

Android HAL defines some properties as adapter specific, some as
device specific and some as common. We split those to separate
adapter and device properties hence overlaping or holes in codes.
android/hal: Add support for sending adapter set property command

This allows HAL to set adapter property.
android/hal: Add support for sending adapter get property command

This allows HAL to get adapter property.
android/hal: Add support for sending adapter get properties command

This allows HAL to get all adapter properties.
android/hal: Add support for sending create bond command

This allows HAL to start bonding.
android/hal: Add support for sending cancel bond command

This allows HAL to cancel pending bonding.
android/hal: Add support for sending adapter remove bond command

This allows HAL to remove bonding.
android/hal: Add support for sending adapter PIN reply command

This allows HAL to reply to PIN code request.