Extend mempcy_simple for the unaligned case

Optimize memcpy_simple so that it handles larger unaligned copies
with good performance. Prefetch is used but no checks for
overfetching are made. The goal is to provide a memcpy that has a
relatively small instruction cache footprint and is optimized for
the most common cases (primarily small word aligned copies) so that
it can be used as a replacement system memcpy.