init: Add a mechanism to extend the property service in device configs

Instead of every so often adding a new set of stuff here for a specific
device, let the device includes overload the property arrays. The
new device_perms.h header documents it

Change-Id: I477e27abebeb4b85abe5fcaf19333999b1625417
init: Allow device-specific appends to the property service permission structs

Extends device_perms.h API to allow property_perms and control_perms to be
appended on a device-specific basis, without needing to redefine the entire
struct contents.

Conflicts:
	init/property_service.c

Change-Id: Ifa4ec83cbd72b063da5bb8964677fcfd8f4831c5
audio: Add APIs for supported compress formats

-Add APIs for supported compress capture & compress voip formats.
-Add default bytes per sample as 1.

Change-Id: If63a50f02389475855f2f0729b03b6049d44fb29
core: add QCOM_HARDWARE ifdefs

Change-Id: I5fb1420d5ce99a86cd8bc42556be5616ff89229b
charger: Add support for non-standard charging interfaces

 * Certain devices may have multiple battery devices or broken uevent
   reporting when a power supply is disconnected.
 * Add a new BOARD_BATTERY_DEVICE_NAME to force which device to monitor.

Change-Id: I3045bf17a4d962cc5f0e6a951472916412ac0d0d