native: Add dock battery support

Dock battery patchset chain:
base: http://review.cyanogenmod.org/#/c/55349/
native: http://review.cyanogenmod.org/#/c/55028/
healthd: http://review.cyanogenmod.org/#/c/55029/
settings: http://review.cyanogenmod.org/#/c/55212/
tf700t: http://review.cyanogenmod.org/#/c/55030/

Video (battery styles): https://www.dropbox.com/s/a7dp3glb7lv1zcg/dock_sdcard01.mp4
Screenshots:
 * No dock: https://www.dropbox.com/s/2yvngdaqok32xiz/dock_sdcard01.png?m=
 * No charging: https://www.dropbox.com/s/ezghtgoedei17oj/dock_sdcard02.png?m=
 * Docked no charging: https://www.dropbox.com/s/7fasc05fw5ylfxi/dock_sdcard03.png?m=
 * Docked charging: https://www.dropbox.com/s/x37vrhxzd075f7p/dock_sdcard04.png?m=

Change-Id: I5f1431736cd6d6d2f6c593881323d3efb5db6b3f
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
sensorservice: Fix init sequence for pre-1.1 API sensor HALs

The sensors API introduced a new flush() method that older binaries
won't have. For those, replace the firstFlush invocation with a
setDelay call since a lot of implementations interpreted that as
the initialization step.
We also don't want any kind of call to flush() to happen when it
isn't there, since it'll either hit a random OEM extension or
a memory address we really don't want to execute.

Change-Id: I26ce923fe385751fed7d1c483a53c074249f0620
Revert "SensorEventQueue: Allow setRate on sensor enable"

This reverts commit 320fd662a3cf98c920fb9b2ae05e34c7ee3e623d. It's the wrong fix for the wrong problem. The main issue on 
devices like the JF is the presence of a new method (flush) in the 1.1
sensor API, which can't be invoked in older blobs and should
be addressed in the sensorservice itself.

Change-Id: I2f5fff41db7a11ed2e0f6650d1f1cecb5e2a03fb
Merge "Revert "SensorEventQueue: Allow setRate on sensor enable"" into cm-11.0
Merge remote-tracking branch 'cm/cm-11.0' into HEAD