Squashed adb fixes.

fix up adb to prefer /sbin/sh if it exists

allow always insecure

Change-Id: I5c15731c95d123488e90aaeac5b497f556b53363

Conflicts:

	adb/Android.mk
ADB Logcat colored output.

This patch adds a new '-C' option to logcat so that the output is
colored with colors similar to the ones in DDMS.
Simply type "adb logcat -C" to use it.
Works well with bash in gnome-terminal.

Change-Id: Ie72199ecca0e04f2082c993f5763646bb09da61ea
do not install recovery on boot
Safely restart services to avoid race conditions.

At present, service restarts exhibit a race condition whereby the new
(restarting) service process is often spawned before the old (stopping)
process has terminated.  This may result in the new service process failing
to acquire a limited resource (file lock, socket bind, etc.) that the old
process has not yet released.

The new method preforms a safe service restart by stopping the service,
waiting for the old service process to terminate, and (only then) start the
new service process.  In the event of "restarting" an already stopped
service, the previous behavior is maintained whereby the service is simply
started.
Restart oneshot services when manually restarted.

Restores manual restart behavior of oneshot services prior to I9935b519.

Change-Id: Iadfc8462838e3ad2dbbe38d76ba2ef0ce955f722
init: Never allow two same-service processes to exist simultaneously.

A stopping service now remains in SVC_RUNNING state until its exiting
process has been reaped by waitpid.  This prevents a "stop, start" sequence
from spawning a second service process before resources held by the first
are released.  However, a "stop, start" pair _will_ restart the service
after exit (unless critical or oneshot).

This scenario was originally special-cased by the SVC_RESTART state used by
the restart command.  However, we have observed instances where services
are, unintentionally, stopped and started "too quickly," and so
simultaneous processes for the same service should never be allowed.  Note
the SVC_RESTART state (and restart) command is still useful to explicitly
restart critical and oneshot services, for which the "stop, start"
procedure is not intended.
libpixelflinger: Build NEON optimized routine per target configuration

The variable TARGET_ARCH_VERSION variable has been renamed to
TARGET_ARCH_VARIANT, and armv7-a-neon is the exact target enables
ARM NEON instructions.

Change-Id: I999e3b0b8f3a03ff31346f83eb66ac52edc8d551
See: https://android-review.googlesource.com/#/c/22208/
libpixelflinger: Add ARM NEON optimized scanline_t32cb16

It can dramatically improve the performance of boot animation.

Change-Id: Idc611c15ec9270eb638412d72021880d813e3d9c
See: https://android-review.googlesource.com/#/c/16358/
adbd:fix framebuffer handle when(fbinfo.size % 640 != 0)
Update tcp buffersize settings

Soem of these values are from CAF, some of these are
from various shipping devices, some are educated
guesses based on the properties of each connection.

In general, the higher the bandwidth-delay product
of a network, the larger the buffer needs to be.

Change-Id: Idd8cd27727b5e66bd3a46be5f9853380acbda8ba