build: use the system's ccache by default

ccache 3.x supports direct mode (http://ccache.samba.org/manual.html#_the_direct_mode)
This is not supported in the prebuilt version. Direct mode has been shown to decrease build time by up to 40x, compared to preprocessor mode used in ccache 2.4, which is substantially less

Change-Id: I224de8e5bc53bbe18a7a02fc811324307cf3ab8c

Conflicts:
	core/tasks/kernel.mk
This is so much more than simply 4.4.2
Support LOCAL_MODULE_RELATIVE_PATH

Most users of LOCAL_MODULE_PATH are setting a subdirectory of the
normal install path, for example to install HALs into system/lib/hw.
This is problematic for multiarch builds, where the install location
depends on the arch.  Allow modules to specify LOCAL_MODULE_RELATIVE_PATH.
HALs will generally use:
LOCAL_MODULE_RELATIVE_PATH := hw

Change-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e

Conflicts:
	core/base_rules.mk
Remove libthread_db from the default include path.

This should never have been on the default include path.

The NDK statically links its own libthread_db, so I'm removing
bionic's unused copy from devices.

Bug: 11882807
Change-Id: I49a67fe0902cc4bc178360f6c993959774d74e3a

Conflicts:
	core/combo/TARGET_linux-aarch64.mk
	core/combo/TARGET_linux-x86_64.mk
Add support for TARGET_GLOBAL_UNSUPPORTED_CFLAGS

To ease the transition between toolchains, allow a target to specify
a list of cflags that the toolchain does not support.  These will be
filtered out of the cflags provided by the module.

Add TARGET_GLOBAL_UNSUPPORTED_CFLAGS := -fstack-protector for the
aarch64 toolchain, it does not yet suport -fstack-protector.

Change-Id: I168d0c6f131326fad305ec86fad46e6a3e03295a

Conflicts:
	core/binary.mk
Merge remote-tracking branch 'remotes/velocity/4.4.2' into base