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
Remove arm-gnueabi- from TARGET_KERNEL_CUSTOM_TOOLCHAIN_ALIAS
Not needed for my build and has only caused problems

Change-Id: Iec66060d5a198b403d125cb2a5963ce4e7a78eac