libc: support __errno_location

Summary:
Android's errno behavior is the same as glibc's __errno_location.
Support __errno_location for compatibility.

Test Plan: verified fully

Reviewers: randall.rushing, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D236

Change-Id: Ie4a20d2facfa542d72e42d246d2ffe4d045f4e1a
bionic: Fix aliasing violations

This makes bionic compile with compilers enforcing
strict adherence to aliasing rules (e.g. gcc 4.6+
with -Wstrict-aliasing=2 -Werror=strict-aliasing).

Change-Id: I8915551eb58c8873d52a496532fe2c56c9c75054
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>