Add HTC charging LED support

This is a squash of the following commits:
* adding battery charging led option
  Change-Id: I9f839c8fa16d5d8f1ee8fe23b07a4e285eac5c10
* adding charged color led to battery led
  Change-Id: I9e87f46b83b027252375101f014032f0058d7012
* added 'fully charged' led and thread based checking for battery led
  indicators
  Change-Id: I1886dd3bfbf5f79b5d44048f1ef884e3dc9fb565
* removed unnecessary logs other than if event logging is turned on
  Change-Id: I9b526fe801ddc996ad48e6c7457bbaf80945271d

Minor modifications were done by Matt Mower to address merge conflicts
and change some error handling.

Change-Id: I9f839c8fa16d5d8f1ee8fe23b07a4e285eac5c10
Refactor HTC LED support into BatteryLED library

Create a library for LED charging indicator updates. This refactors
the previous HTC LED commit into a form suitable for other manufacturer
LEDs to be added.

Currently, only HTC devices with a green/amber LED are supported via
TW_BATTERY_LED := htc-legacy, but other LED update mechanisms can be
added by creating a function analogous to setHtcChargingStatus() and
including it in setChargingStatus(). This library is build-blocked
against only supported TW_BATTERY_LED options.

Change-Id: Ic9f21997d4c9bc7a0e4a1fa391527770fd439dc0
Build block TWRP with RECOVERY_VARIANT

Enable TWRP to reside alongside other recoveries with the naming
convention: bootable/recovery(-flag). If TWRP resides at
bootable/recovery and a device does not specify RECOVERY_VARIANT, then
it will build like normal. If TWRP resides at bootable/recovery-twrp,
then its makefiles will only be parsed if a device specifies
'RECOVERY_VARIANT := twrp'. This prevents TWRP specific makefile
warnings/errors (notably, missing DEVICE_RESOLUTION) when another
recovery is being built.

Change-Id: I8f02fffcd79c309c7123b9428eedc69af02e126e
toolbox: Only build selinux tools for TW_USE_TOOLBOX

Busybox now includes selinux support, but the current setup
overrides these symlinks with toolbox. This leads to: warning:
overriding commands for target `../recovery/root/sbin/getenforce'

Change-Id: I42c6a31cd4a2fa12c2e411f35c763ba99113f0db