libc: krait: Implement optimized versions of memmove and bcopy

Restore a jellybean optimization for memmove and bcopy on krait.
Code has been refactored to thumb2 for consistency with the rest of
bionic libc, as well as performance and correctness.

Change-Id: I8f2f77dce4534fbce1bdf0188ab353bf34ab8637
Fix dns search domain use in gethostbyname.

Need to load search domain data before we attempt to use it.
bug:6799630

Change-Id: Ib228f4ca260339f71a2e28d5930c0a722bd43c92
__strnlen_chk: avoid recursive strlen calls

Don't use FORTIFY_SOURCE on functions which implement
FORTIFY_SOURCE.

Bug: 12216860
Change-Id: I61db1b47ccdd6bdcf41eab3303f4806494016199
Clean up more recursive FORTIFY_SOURCE calls

Don't use FORTIFY_SOURCE on functions which implement
FORTIFY_SOURCE, to avoid infinite recursion problems.

The previous patch only addressed one of the problems.

Bug: 12216860
Change-Id: I6f30ae7cb5b481be9942add18182ea4839d348a6
Merge remote-tracking branch 'cm/cm-11.0' into HEAD

Conflicts:
	libc/arch-arm/krait/krait.mk

Change-Id: Ib655e176beff86ab2c06199a70ed8c59d1a8eda4