This is the initial feature commit for libpebble with lightblue.

-lightblue runs inside it's own process, there are issues with shutting it down when it's parent process dies.

-example command line call:
./p.py --pebble_id DC93 --lightblue --pair ping
--> this will pair to the mac-address obtained by searching for .*DC:93 and then will ping it. --lightblue indicates use of lightblue library
bigfixes for cases within autodetect
further improved autodetection. Catching correct exception thrown from _bluetoothsocket.py (socket.timeout())
general improvements to formatting and autodetection.
Usability improvements and some readability improvements
improved the behaviour of the child process (lightblue) by making it Daemonic. Also added a timeout for waiting on the setup process.
Moved LightBlueProcess into its own file, wrapped in PySerial style read, write and close.
Added lightblue dependency to requirements.txt
- Missing re import
- 20 sec timout is too short when pairing
- Fixed typo
non-editable dependency for lightblue in requirements.txt
- Missing re import
- 20 sec timout is too short when pairing
- Fixed typo
non-editable dependency for lightblue in requirements.txt
Added "remove_app_by_uuid" function to libpebble / p.py
Merge pull request #1 from pebble/feature-remove-app-by-uuid

Feature remove app by uuid
improved readability and interface. fixed buggy log in pebble.py
refactored length to timeout, added verbose mac address to connection. https://github.com/pebble/lightblue-0.4/pull/4
Merge pull request #2 from pebble/improval-readability

Improved readability and interface timeout. Fixed a buggy log in pebble.py read function.
This is the working libpebble with lighblue which does not product a generic LightBlueSerial object in the style of PySerial, but instead has LightBluePebble which is designed to allow for pebble communications.

in p.py
- made p.py disconnect when it is done running the script
- made p.py print "no apps" instead of throwing a non-scriptable TypeError when no apps are installed

in LightBlueSerial a.k.a LightBluePebble:
- simplified the IPC with a blocking call to read the rec_queue
- renamed to LightBluePebble because the tool is not generic enough to be used for other LightBlue tasks
- improved shutdown behaviour and debug behaviour

in repl.py
- added flags to support lightblue and to allow users to use PySerial instead

in pebble.py
- general cleaning up
- handle the _ser.recv when lightblue is being used such that debugging prompts in the main process are still displayed nicely.
Needed to remove the LightBlueSerial.py
Merge pull request #3 from pebble/lightblue-pebble-improval

This is the working libpebble with lightblue