Use -mcpu=cortex-a15 for gcc arch dependent compilation.

If TARGET_CPU_VARIANT=cortex-a15 is specified in the BoardConfig.mk file.

Bug: 7961327

cherry-picked from internal master.

Change-Id: I6679fa7fc277f263ee2af4de2051ed0d4366a263

Conflicts:
	core/combo/arch/arm/armv7-a-neon.mk
	core/llvm_config.mk

Conflicts:
	core/llvm_config.mk
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

Conflicts:
	core/tasks/kernel.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

Conflicts:
	core/combo/TARGET_linux-aarch64.mk