Introduce Link Time Optimization

creds @metalspring
colorize non-fatal javac stderr yellow (and actually display it... at all)

woops!

Signed-off-by: nuclearmistake <nuclearmistake@gmail.com>
Change-Id: I984f428022a68a825aa041866e8d459bd6611f71

Conflicts:
	core/definitions.mk
Colorize javac errors

You know those multi-line ones that are frequently interspersed with other buld output?
The ones that don't even have the word "error" in them to search for?

This makes them red.

ps2: fix jar_check failures cause by leaving empty stderr files in intermediates dirs
     this is probably not the best place to store stderr before colorizing it if javac
     exits non-zero, but it seems much lighter than mkdiring a bunch of temp directories
     or using sed to mangle the paths to point to per-intermediates directory unique
     temporary file names

Change-Id: I3b9b7d8a0c76958588ac1603b6742987d6dde54c
Signed-off-by: nuclearmistake <nuclearmistake@gmail.com>

Conflicts:
	core/definitions.mk
colorize non-fatal javac stderr yellow (and actually display it... at all)

woops!

Signed-off-by: nuclearmistake <nuclearmistake@gmail.com>
Change-Id: I984f428022a68a825aa041866e8d459bd6611f71