framework: Add advanced reboot options (2 of 2)

This commit is an squash of the commits below and re-adds the reboot
logic to CM.

I took the liberty to rewrite some of the ShutdownThread code because
it had some lingering issues present since I originally wrote this
for CM7 (!!). Namely, the reboot reason was being changed when the items
are pressed instead of when the user presses the positive button. This
made some people add workarounds like handling back button presses and
whatnot, these are gone now.

commit 588464bea40b92b04c4aeee35c47f7becceeed56
Author: Roman Birg <roman@cyngn.com>
Date:   Thu Jul 10 14:20:42 2014 -0700

advanced reboot: add soft reboot option

Adds a "Soft reboot" option which restarts zygote, as requested in JIRA
CYAN-3998

Change-Id: Ia6e5ed9b053e1c5ebd1fc55e5692858b97f7e0fc
Signed-off-by: Roman Birg <roman@cyngn.com>

Conflicts:
core/res/res/values/cm_arrays.xml
core/res/res/values/cm_strings.xml
services/java/com/android/server/power/ShutdownThread.java

commit 3e7b92551bbf818ace41cd9b9532473ed7d18f2f
Author: Veeti Paananen <veeti.paananen@rojekti.fi>
Date:   Tue Jul 23 16:34:35 2013 +0300

Show advanced reboot if using an insecure lock screen

Enables the advanced reboot menu when locked if the selected lock method
is insecure (= slide unlock).

Change-Id: I759b7b31c5411597e2537a85183d73ec02eb2461

Conflicts:
services/java/com/android/server/power/ShutdownThread.java

commit cf42ed3993d5d05c9b2591883fefb6338fbcdd40
Author: DvTonder <david.vantonder@gmail.com>
Date:   Thu Feb 21 18:20:01 2013 -0500

Framework: Show the Advanced reboot menu only for the primary user

Change-Id: I73f82eade26f268e2b4608fa23cabcf0bb8fc862

Conflicts:
services/java/com/android/server/power/ShutdownThread.java

commit 08aa6fd643e0359114b86f50053921dd2d86fc50
Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date:   Mon Nov 4 03:37:40 2013 +0000

Framework: Add Advanced reboot (2 of 2)

This commit responds to a setting in Development settings for including
options in the power menu for rebooting into recovery or bootloader. It
is defauled to off.

When enabled, the Advanced reboot options will only be available once
the
device is unlocked.

Change-Id: I2bc1e7024abb69cb62154d3081df5a3eb7e79df9