Ported: Bluetooth Message Access Profile (MAP) from CM9

This was added to CM10 to restore message exchange capabilities with automotive systems.

Change-Id: Ib872bebc5c292b1f84c903b068e59b7eeca6d76f
Fix MAP SDP record generation [2/3].

Give the bluetooth app API to register a server socket for a specific
UUID/port pair. It needs that for registering two OBEX server instances.

Change-Id: I6ede7f2777040af4e653eceb14ea47a2c03abfae
Bluetooth MAP (Message Access Profile) Upstream Changes (3/3)

Incorporates updates to the Bluetooth MAP profile from Code Aurora's
Android Enablement Project since we initially pulled in from their
gingerbread to CM7 last year. This patch addresses bugs with the
current MAP profile, adds a UI request for message access approval
when pairing, and adds additional error checking and logging.
Confirmed to fix date and "Download" function of Ford SYNC Gen1.
Pulled in from the codeaurora jb branch.

Change-Id: I5c7e7396e0e97760bba9bdf4bf848b6bfa58e62c