libc: krait: optimized memmove and bcopy routines

Summary:
Depends on D271 and Depends on D272. To be stacked on top.

libc: arm: Allow optional optimization of memmove and bcopy

The libc functions memmove and bcopy are not configurable target-by-
target.  This change allows per-target optimization for best perfor-
mance.

Change-Id: Id684672fbf0bcffbe68c36a28b64186a6c2554f3

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

Test Plan: verified

Reviewers: randall.rushing, jriordan001, synergy

Reviewed By: synergy

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

Conflicts:

	libc/Android.mk
[ARM] libc: Improve how we set memcpy and memcmp flags

Summary: Check by cpu variant, and also that NEON_MEMCPY_ALIGNMENT_DIVIDER wasn't set elsewhere.

Test Plan: verified

Reviewers: randall.rushing, jriordan001

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

Conflicts:

	libc/Android.mk