Allow specifying kernel toolchain and prefix

Change-Id: Ib75cfe772e073f2196455f3e3dfba247f6b3feff
Fix libelf path

Fixes kernel build

Change-Id: Ic6cdb1734d7b865491e8e61403d32db4acafe514
Signed-off-by: Alvin Francis <nivlafx@gmail.com>
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
build: work around missing readlink -f on Mac

Change-Id: I5d56366cf33a2b02f1886c87815d00cff279779d
envsetup: use $(CURDIR) for getting current directory

Change-Id: I5f00faf64ec31d86dd2e48ec038748ce8499380b