Make RawAddress into a class (1/3)

* Add libbluetooth-types - library containing types implementation, that
is common between stystem/bt and packages/apps/Bluetooth. It must be
included in every project using btif interface.
* Put Raw Address implementation into libbluetooth-types
* Unify all "to/from string" helper methods into ToString and FromString
* bd_addr_empty -> RawAddress::kEmpty
* bd_addr_any -> RawAddress::kAny

Also fix leaks in jni str2addr by adding ReleaseStringUTFChars

Test: types_unittest
Change-Id: Ie0694843ad5fbd2a80b310c5f532e5e5a9548043
Merged-In: Ie0694843ad5fbd2a80b310c5f532e5e5a9548043
diff --git a/Android.bp b/Android.bp
index dae6460..462b8be 100644
--- a/Android.bp
+++ b/Android.bp
@@ -14,6 +14,7 @@
     "bta",
     "vendor_libs",
     "test",
+    "types",
     "udrv",
     "tools",
 ]