libm: optimistic pow calling

Call optimized pow optimistically and revert to full range
implementation if we detect an out-of-range input.

Change-Id: I02657c2a254e9796e795a8fcc6ae43e24c9d37b9
libm: sqrt and sqrtf via ARM vsqrt instruction.

Optimized sqrt and sqrtf for arm by using hardware
opcode for sqrt rather than generic slow portable
code.

Change-Id: I9888d58547bcfca7dfc1400d3e7e222599167249
libm: These optimizations are only for Krait

 * Issues on other chipsets. Resync with CAF and only use on specific
   chipsets (Krait, Sparrow).

Change-Id: I6a11f3f8e3250359259edf5f57e0d9e7068c5375
bionic: Add workarounds for current compilers

With current compilers, we're getting "this function cannot be inlined"
errors on vsnprintf and strlcpy because the always_inline attribute is
set.

Before marking this a "fix" instead of a "workaround", we should figure
out why the functions can't be inlined.

Change-Id: Id6c5464defafb3f9044c102d32a57e70d760b05d
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>