Provide new, better performing memcpy version

A new memcpy family is provided that generally performs better and
with a lower code size footprint than the previous version. It uses
possible unaligned memory access for small sizes. It uses several
configurable threshold values and contains some Thumb2 optimizations
while being compatible with compiling in ARM mode.

The benchmark program is updated slightly with a better validation
test.