Remove unnecessary instructions related to preload checking
Do one extra early preload, and implement preload catch-up

For the word aligned case, do one extra early preload just before
the main loop. A maximum of four early preloads will be done.

Also implement the PRELOAD_CATCH_UP define for the word aligned
case via a simple loop. It seems to be slightly faster for medium
sized DRAM access at the expense of slight slowdown for non-DRAM
cases.

The unaligned case doesn't yet handle PRELOAD_CATCH_UP.
Enable PRELOAD_CATCH_UP loop for unaligned case

Re-enable an optimized loop from a previous version to catch up
preloads for the unaligned case. The catching up happens while
blocks are being processed.

PRELOAD_CATCH_UP now clearly shows an improvement for unaligned
copies in DRAM (random size up to 1024 bytes). The pixman style
libarmmem benchmark does not show this improvement, maybe a slight
decrease in the memory benchmark ("M"), but this is probably due
to the way the size is selected (fixed size of 1MB - 64).
Fix line size offset for preload catch-up loop for word-aligned case
Implement early preload catch-up loop for word-aligned case
Fix superfluous early preload in word-aligned case

In the word aligned case, an early preload was performed at the
same address twice in the word-aligned case. Removing this
superfluous preload results in a measurable performance
improvement.