FWBase: Battery Saver mode [1/4]

Concept:
http://jira.omnirom.org/browse/CONCEPT-24

introduce battery saver mode
this based from what user want or what user do to saving the battery
life
this include:
1. Automatically switch mobile network into what user choice and also
disable mobile data IF wifi connected to an AP
2. Automatically switch mobile network and disable mobile data IF
battery low (battery level can configure)
3. Reduce screen brightness based low battery (this feature will
disabled if Auto brightness mode enabled)
4. Not changing network IF on Call or Usb tether enabled or WifiAP
enabled
5. Not changing network IF there is Download/upload progress
6. Support For Both GSM and CDMA devices (need someone to test for CDMA
devices)
7. every condition has an option :D
8. Restore all network configuration if battery saver mode disabled
9. Add Time Range to start battery saver mode
10. allow device without mobile data support, to using this feature
11. fix inconsistent battery low level
12. rewrite to better performance
13. modified the controller to support battery saver mode
14. add bluetooth, gps, wifi, and mobile data (if support) to be
disabled while power saving activated
15. fix build QuickSettings because of LocationController change
16. rewrite to better performance
17. fix brightness value
18. rewrite (again) to allow add more saving mode
19. do delay changing only for POWER SAVING not NORMAL mode
20. add Cpu power saving mode
21. fix Cpu freq value
22. fix call saving state for non user configuration mode
23. fix NPE
24. add kill all task
25. add disable sync
26. add disable vibrate
27. add disable led
28. add notification :)
29. finally fix sync interval :D

preview:
http://jira.omnirom.org/secure/attachment/10394/Screenshot_2014-03-07-19-54-57.png
http://jira.omnirom.org/secure/attachment/10395/Screenshot_2014-03-07-19-55-56.png
http://jira.omnirom.org/secure/attachment/10396/Screenshot_2014-03-07-19-56-06.png
http://jira.omnirom.org/secure/attachment/10397/Screenshot_2014-03-07-19-56-14.png
http://jira.omnirom.org/secure/attachment/10398/Screenshot_2014-03-07-19-56-27.png
http://jira.omnirom.org/secure/attachment/10399/Screenshot_2014-03-07-19-56-34.png

Conflicts:

packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java

packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java

Conflicts:
	core/java/android/content/Intent.java
	packages/SystemUI/res/values/custom_strings.xml
	packages/SystemUI/src/com/android/systemui/BootReceiver.java

packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java

packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java

packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java

packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java

packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
	services/java/com/android/server/NotificationManagerService.java

Change-Id: I89f7885f303bf236a7af9a4700fa81cce0cffebb
Signed-off-by: STELIX <ssspinni@gmail.com>

Conflicts:
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/values/cr_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsController.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java