Introduce Link Time Optimization

Summary:
This introduces the following improvements:
  - Can be globally disabled with DISABLE_BUILD_LTO
  - 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

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

Change-Id: I17ea1d46cf1ba9bace70acd89a80143060f3bc31
add support for a prebuilt clang

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
Change-Id: I07c1725bec1600d7082ff3b57d0b82820eb408a1

Conflicts:

	core/dumpvar.mk
	core/llvm_config.mk