Initial GSM driver for Ruuvitracker C2.

This is ported from previous eLua drivers to current ChibiOS implementation.
Not all features are supported (yet).
Just basic functionality.
Usage of global variables and API are to be improved later.
Basic debug(...) function
Initial HTTP GET/POST support.

Requires that GSM to be started and accespoint name is set.
Define gsm_start() and do not hardcode APN.
Example gsm&http test code
Small fix, move usage help to correct cmd
Correct line-endings on http.c
Fix GSM: Make sure that 'OK' reply is for this command.
Move USB serial stuff to drivers
Convert line endings to unix LF and astyle --style=linux.
Example GPS Tracker.

Replace main.c with tracker.c to build tracker.
Replace tracker_id & shared secret (& server address) from
tracker.c to customize.
Change gps_get_data() to gps_get_data_nonblock().

Next step is to imlement gps_get_data() that uses
some kind of synchronization with gps parses and returs only
newest received data.
Update ChibiOS to 2.6.3
Add SHA1 library
Add dummy gps_get_data() to fix the build
Force USB detection after DFU flashing
Reset button functionality.

When button is pressed for short time (<1s) nothing happens.
When hold for 2 seconds device resets itself.
When hold for longer that 5 seconds device reset itself and boots to DFU mode.
Add missing HAL_USE_EXT
Use own heap allocator in http driver.

Currently sets heap size to static 10kB.
This may not be enough for some applications but for us, it is enough.
Small debug msg fixes