Merge from linaro cortex-strings

Signed-off-by: Marin Spajic <omgitzspajky@gmail.com>
Reconfig libc's Android.mk to build for multilib

1. Moved arch-specific setup to their own files:
    - <arch>/<arch>.mk, arch-specific configs. Variables in those config
      end with the arch name.
    - removed the extra complexity introduced by function libc-add-cpu-variant-src,
      which seems to be not very useful these days.
2. Separated out the crt object files generation rules and set up the
   rules for both TARGET_ARCH and TARGET_2ND_ARCH.
3. Build all the libraries for both TARGET_ARCH and TARGET_2ND_ARCH,
  with the arch-specific LOCAL_ variables.

Bug: 11654773
Change-Id: I9c2d85db0affa49199d182236d2210060a321421

Conflicts:

	libc/Android.mk
	libc/arch-arm/krait/krait.mk
	libc/crt.mk

Signed-off-by: Marin Spajic <omgitzspajky@gmail.com>
libc: address some GCC warnings

Fix all the aliasing violations (excluding the ones in libc_dns)

Signed-off-by: Domenico Marino <johnlemon.lol@gmail.com>