UMS [2/6]: Add option for switching between UMS and MTP/PTP mode.

Change-Id: I8e692d468cb36ccc97ca69b8a2eb11afeb711eae

This adds support for switching between UMS and MTP/PTP.
Framework part (this part) will only enable UMS if the config setting is set.
Standard is to enable UMS if the primary volume supports UMS.

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I8e692d468cb36ccc97ca69b8a2eb11afeb711eae

Conflicts:
	services/java/com/android/server/usb/UsbDeviceManager.java
UMS [3/6]: Add UsbDebuggingManager and UsbDebuggingActivity to LegacyUsbManager

The UsbDebuggingManager listens to adbd requests and displays a dialog
when the public key authentification fails, for the user to confirm if it
wants to allow USB debugging from the attached host. If the user chooses
to always allow USB debugging, the UsbDebuggingManager writes the public
key to adbd's config file so that the public key authenfication succeeds
next time.

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I819b8a0428ba34b68dadeb9fa67c53abb9a85fbc
UMS [4/6]: Allow USB notification to show when primary SD allows UMS and MTP

Previously if primary SD is set to allowMassStorage="true" the USB
dialog would never show.  This checks if persist.sys.usb.config is
set to mtp,adb and then allows the USB notification to show. With
this you can then have the option to select from MTP, PTP and Mass
storage when clicking the pull down notification. When Mass Storage
is selected it activates the USB connected dialog to turn on USB
storage. When set back to MTP the USB connected notification disappears.

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I2287075ec93cae75f19e8fb59965d9dddb234aca