build: add support for a prebuilt clang

- set TARGET_CLANG_VERSION to your desired clang version to use it

ps2: RETAIN SUPPORT FOR STOCK CLANG... ASDLKJSHADLKSJAHDLKDHJA
ps3: derp
ps4: set stock clang
ps5: fixup the header inclusion
ps6: add guard for default clang version
ps7: cortex-15 if supported by both clang versions, and fixup header inclusion
ps8: fix derp
ps9: FIX SHIT UP FOR REAL?
ps10: copy/paste derp
ps11: ifeq--->ifneq
ps12: don't enable by default
ps14: revise conditionalization if CLANG_EXTRA_INCLUDES and restore mcpu substitution for global stock clang
Change-Id: I07c1725bec1600d7082ff3b57d0b82820eb408a1
Signed-off-by: bart452 <bart4524@gmail.com>

Conflicts:
	core/clear_vars.mk
	core/dumpvar.mk
Introduce Link Time Optimization

Summary:
This introduces the following improvements:
  - Can be globally enabled with TARGET_ENABLE_LTO := true
  - Can be locally disabled with LOCAL_NO_LTO_SUPPORT.
  - Host modules now build without LTO by default.
  - Modules built with clang no longer need -fno-lto specified locally (LTO disabled here automatically)
  - Modules built with clang no longer have -fno-toplevel-reorder unnecessarily set.

http://pastebin.com/FaxSUzVy

ps5: don't enable it by default because of poor device support

Signed-off-by: bart452 <bart_96@live.nl>

Change-Id: I17ea1d46cf1ba9bace70acd89a80143060f3bc31