Renamed 'handle' to 'device'

It's just a device descriptor so we should name it accordingly
Added support for external backend registration

This commit reworks the backend framework to add support for
registration of custom external communication backends by using the
newly introducted sa_register_backend() function.

This is a rather large commit which also includes:

 * Various cleanups and restructuring
 * Added list implementation (MIT licensed)
 * Moved header files to separate include directory
 * Updated README
 * License year updates
 * USB adapted to use the new backend framework
 * Added sa_list_backends() which returns string list of currently
   registered backends
Minor README update
Updated README
Added session testing to test application

Introduced two dummy devices in the test application for testing
multiple active device sessions.
Isolated usb device configuration in usb_config.h

Makes it easier to integrate and use the default usb backend in your
application.
Initial support connecting/reading BLuetooth Low Energy-device:

Commit reads temperature-sensor from TI-sensortag
Ble_test gets now BT-address as an argument. Also some cosmetic changes to the code done.
ble: provide ble address as argument using switch "-a"

removed hardcoded value

Signed-off-by: Torsten Lund <lund.torsten@gmail.com>

Conflicts:
	src/ble/ble_test.c
Add some error-handlings socket-connect, -read and -write routines
Added update_loop() for handling connection-establishment to BLE-device
and reading of temperature-sensor frequently for demo-purpose.
Handles also re-readings and reconnections in error-cases.
Fixed "no route to host"

Starting the ble_demo while the BLE sensortag is off resulted in a "no
route to host" error and it would deadlock because the routing is never
updated. The same deadlock would present itself if the BLE sensortag is
connected at first but then turned off/on at any later time. To solve
this a routing update is introduced by adding a LE scan just before
every connection attempt.
Minor cleanup
Fixed error in regular expression

Erroneously allowed format: XX-XX-XX-XX-XX-XX
only XX:XX:XX:XX:XX:XX is allowed

Signed-off-by: Torsten Lund <lund.torsten@gmail.com>
Merge branch 'ble_for_TI_sensortag' of github.com:ixonos/libsensact into ble_for_TI_sensortag