Revert "Remove the MD5 implementation that was only used by toolbox."

This reverts commit 67401638a92abd52e5896183e851b1b097da07ac.

Added TARGET_NEEDS_BIONIC_MD5 to indicate if a device needs it.
In particular, the Galaxy Nexus RIL breaks without this.

Change-Id: I49f1779566dfeb5093970ed0bbda741919318a83
libc: Add Scorpion-optimized memcpy and memset

 * Optimized routines from Qualcomm for msm8660 class SoCs
 * Enable with TARGET_CPU_VARIANT := scorpion
 * Use cortex-a15 memcpy and krait memset routines

Change-Id: I01d0f22efba5a418ddd20fca0d0c570d855e0f6f
libc: Add memchr for cortex-a53

Change-Id: Id84695006991bb9aaef8ddc127c3bee646948527
linker: restore prelink support

Prelink support is required to load old vendor binary blobs
on many devices properly

This commit partially reverts 4688279db5dcc4004941e7f133c4a1c3617d842c

bionic: linker: fix prelink support

load_bias_ needs to be calculated from the min_vaddr, not the
prelink address

Fixes

couldn't map "libraryname.so" segment 1: Invalid argument

Change-Id: Iee5325e048daee78e8dcaa47c87454b908c89b4e
Revert "Revert "Reenable support for non-PIE executables""

* Conditionally revert under TARGET_NEEDS_NON_PIE_SUPPORT flag

This reverts commit 76e289c026f11126fc88841b3019fd5bb419bb67.

Change-Id: I0c64f219c488f5a507b4e0d651b46f71d1c6b5be