build: Build with colors

Based on tpruvot/chirayudesai's commits, add some color to stdout
and but make it a little easier to customize. Colors are now mapped to
categories and can be edited in Makefile if you or your terminal's
background color do not like them. Defaults:

host stuff: yellow
target stuff: cyan
install/copy: green
filesystem/images: green
imports/exports/includes/notices: green
deletes: red
complete msg: bold green

Coloring can be disabled with "export BUILD_WITH_COLORS=0"

Change-Id: Idcfe9bbf925759f88425f914269855da05c5eef0

Conflicts:
	core/Makefile
	core/base_rules.mk
	core/definitions.mk
	core/host_java_library.mk
	core/java.mk
	core/tasks/product-graph.mk
ota_from_target_files: Don't update recovery image
envsetup: set OUT_DIR to an absolute path always

OUT_DIR was set to $(TOPDIR)out previously,
but $(TOPDIR) was null, so it was a relative path.
This broke releasetools, inline kernel building, etc
since they require absolute paths.
Fix it so that it is set to $(shell readlink -f .)/out
if $(TOPDIR) is null.

Also remove hacks which checked if (OUT_DIR) was out
and changed it to $(ANDROID_BUILD_TOP)/out to workaround
the aforementioned problem.

Change-Id: I459a3b1325a1bbea0565cd73f6acf160d4ed9b39

Conflicts:
	core/base_rules.mk
	core/tasks/kernel.mk

Change-Id: I52a7a6024f0f2b708c230e53c0152ed138726cc1