adb: Allow configuring the adb shell with a persistent property.

To set to bash: setprop persist.sys.adb.shell /system/xbin/bash

Change-Id: I24e65f4592aaf23356c13db02c9869076df3b841
Set gateway properties for being accessible in DataCallResponse

Some devices need gateway properties to be set inorder to setup route correctly

Change-Id: I45dce29de916f07eb79fad77dec914787c78e7ce
Use RECOVERY_PRE_COMMAND before calling __reboot() recovery

For the Power menu,
frameworks/base/core/jni/android_os_Power.cpp#L180
already uses RECOVERY_PRE_COMMAND if
TARGET_RECOVERY_PRE_COMMAND is defined in the
BoardConfig.mk for a device to make a system() call before
calling __reboot() for recovery. This commit adds
the same thing to the other places that we know we are
getting into recovery using __reboot(), namely,
adb reboot recovery, the reboot binary and init
in the case of errors.

Signed-off-by: Humberto Borba <humberos@gmail.com>

Conflicts:
	libcutils/Android.mk
	libcutils/android_reboot.c

Change-Id: Id0fb6675accd732f46d4b10e0fce459d2582875c