Initial commit
Create user prompt

This commit adds a very basic mainloop and a simple command prompt for
the user.
Create program userdata

This structure will be used to store program data that needs to be
passed around between different functions.
Get the Bluetooth module from libhardware

This commit gets the Bluetooth module from libhardware and adds
libhardware to the Android.mk so the linker can link it with bdctl.
Get the Bluetooth device from the Bluetooth module
Get the Bluetooth interface from the Bluetooth device
Initialize the Bluetooth interface

Initialize the Bluetooth interface, setting a callback for each
Bluetooth operation.
Handle btif handler thread events
Add command line processor

This creates a very basic command line processor that can handle basic
commands with arguments.
Add 'quit' command to exit the program
Add 'enable' and 'disable' commands

This add commands to enable and disable Bluetooth.
Add 'discovery' command

This command controls the adapter's discovery state and has two
arguments:

  start - Starts a new discovery session;
  stop  - Interrupts an ongoing discovery session.
Initialize the GATT Bluetooth interface
Set GATT client callbacks in GATT Bluetooth interface
Add 'scan' command

This command controls the adapter's LE-only scan state and has two
arguments:

  start - Starts a new scan session;
  stop  - Interrupts an ongoing scan session.
Add support to register client
Add str2ba(), helper to handle bluetooth string addresses
Add support for 'connect' command
Initial support for 'pair' command
Add 'cancel' and 'remove' subcommands for 'pair' command