Port Base: Battery Saver mode [1/3]

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 Smart Radio disabled
9. Add Time Range to start Smart Radio

PS2: Ditched brightness change since it`s useless and added data
and WI-FI on/off

PS3: better handling of boot process , fix bracket derps

PS4: 4G options should work now, thanks to Yanuar Harry

pulled from VanirAOSP

Signed-off-by: hany <hany.alsamman@gmail.com>

Conflicts:
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/values/probam_strings.xml
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
Battery saver mode: Revamp !

credits to Yanuar Harry
<ai.the.smarties.physics@gmail.com>

Change-Id: I22e45d652a1823698927d72f88daa9ad8bf55737
Signed-off-by: Dan Trifan <jimsth@gmail.com>
Signed-off-by: hany <hany.alsamman@gmail.com>

Conflicts:
	packages/SystemUI/res/values/probam_strings.xml
battery saver mode: updates (1/2)

credits to Yanuar Harry<ai.the.smarties.physics@gmail.com>

Change-Id: I5516e6293b052dc8da17f3ad30e848200ea3e6f5
Signed-off-by: Dan Trifan <jimsth@gmail.com>
Signed-off-by: hany <hany.alsamman@gmail.com>

Conflicts:
	core/java/android/content/Intent.java
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/values/probam_strings.xml