avrcp: Use NULL for zero pointers
android/bluetooth: Split devices list to devices and bonded_devices

Bonded devices are permament until unbondedn. Non-bonded devices will
be held in (size limited) cache based on timestamp property so split
list to ease separation.
android/bluetooth: Use defines for settings and devices files paths
android/bluetooth: Add support for caching remote device info

Cache is limited to DEVICES_CACHE_MAX. Devices are sorted with
timestamp so if cache is full olderst device is removed.
android/bluetooth: Add support for loading caches devices from storage

Info is now stored for all devices and bond state depends on file.
Based on that devices loaded from storage are put either to cache
or to bonded_devices list.
android/bluetooth: Rename devices list to cached_devices

This makes it clear what is the purpose of this list.
android/bluetooth: Check not paired status in unpair_device_complete

This is needed to make sure framework is updated with proper bond state
of device.
[travis-ci] Add configuration file
android: Fix GNU old-style struct field designator

This gives a warning on clang, that turns into an error due to -Werror.
android/tester: Fix crash on failure inside setup()

The various setup_* functions were still continuing even though setup()
failed and did not initialize data->if_bluetooth properly.

Also do a little refactoring by moving tester_setup_failed() calls to
the setup() callers, so they stay close to the other failure points and
not hidden deep into a helper function.

Crash detected by Valgrind:

==4959== Invalid read of size 4
==4959==    at 0x805967A: setup_base (android-tester.c:2029)
==4959==    by 0x8055541: setup_callback (tester.c:373)
==4959==    by 0x408348F: g_idle_dispatch (gmain.c:5250)
==4959==    by 0x4086A75: g_main_context_dispatch (gmain.c:3065)
==4959==    by 0x4086E14: g_main_context_iterate.isra.23 (gmain.c:3712)
==4959==    by 0x40872FA: g_main_loop_run (gmain.c:3906)
==4959==    by 0x41744D2: (below main) (libc-start.c:226)
==4959==  Address 0x4 is not stack'd, malloc'd or (recently) free'd
android: Remove useless extra parenthesis
android: Trivial replacement of tabs where spaces are expected
emulator: Fix crash if socket(AF_ALG) is not support by the kernel

On this situation, smp_stop() was being called with NULL pointer.

Crash detected by valgrind:

==7925== Invalid read of size 4
==7925==    at 0x8052F18: smp_stop (smp.c:480)
==7925==    by 0x8052542: bthost_stop (bthost.c:2073)
==7925==    by 0x805521D: hciemu_unref (hciemu.c:372)
==7925==    by 0x8058C65: test_post_teardown (android-tester.c:464)
==7925==    by 0x8055DE7: tester_teardown_complete (tester.c:533)
==7925==    by 0x8055501: teardown_callback (tester.c:312)
==7925==    by 0x408348F: g_idle_dispatch (gmain.c:5250)
==7925==    by 0x4086A75: g_main_context_dispatch (gmain.c:3065)
==7925==    by 0x4086E14: g_main_context_iterate.isra.23 (gmain.c:3712)
==7925==    by 0x40872FA: g_main_loop_run (gmain.c:3906)
==7925==    by 0x41744D2: (below main) (libc-start.c:226)
==7925==  Address 0x8 is not stack'd, malloc'd or (recently) free'd
attrib: Fix crash if g_attrib_new() fails

If g_attrib_new() fails for some reason (e.g. bt_io_get() fails), it
will return NULL.

Crash reported by Valgrind:

==2845== Invalid read of size 4
==2845==    at 0x40C6CC4: g_io_channel_unix_get_fd (giounix.c:655)
==2845==  Address 0x3c is not stack'd, malloc'd or (recently) free'd