Bug 1091575: Cleanup Bluetooth's CONVERT macro (under bluetooth2/), r=btian

The patch moves the array handling out of Bluetooth's CONVERT
macro. The change allows the use of the functionality in non-
conversion code.
Bug 1091575: Added general-purpose notification runnables for Bluetooth (under bluetooth2/), r=btian

A backend notification runnable in Bluetooth is used to transfer
a notification from the I/O thread to the main thread; an interface
runnable transfers and executes a result handler. Both are currently
implemented by Bluetooth backends.

This patch adds new runnables that are independend from any backend
code or data structures.
Bug 1091575: Add core interfaces and Setup module for Bluetooth daemon (under bluetooth2/), r=btian

This patch adds the core interfaces and the Setup module for
the Bluetooth Daemon. The Setup module implements commands
for enabling and disabling Bluetooth profiles in the daemon.
Bug 1091575: Implement Bluetooth Core module for Bluetooth daemon (under bluetooth2/), r=btian

This patch adds support for the Bluetooth daemon's Core module. It
provides the basic Bluetooth functionality, such as searching and
pairing with devices, and accessing device properties.
Bug 1091575: Implement Socket module for Bluetooth daemon (under bluetooth2/), r=btian

This patch adds support for the Bluetooth daemon's Socket module,
which provides OPP functionality.
Bug 1091575: Add support for Bluetooth daemon backend (under bluetooth2/), r=btian