Use page-aligned addresses when validating copy_page

Validation of copy_page was using non-page aligned addresses, causing
alignment faults when validating NEON-optimized copy_page. Also make
the initial buffer contents used for validation more random in order
not to miss errors.
Add NEON-optimized block copy support

Add a new option to enable NEON support in the Makefile, and add NEON
optimized aligned block copy to copy_page, memset, memzero and memcpy.
With proper alignment, NEON seems to be a little faster at least on
Cortex A8, with possible headroom on newer architectures. It also
looks like using NEON instructions in the kernel is fairly
straightforward by checking for CONFIG_NEON, and only clobbering the
NEON registers d0 to d7.

NEON can also potentially be used for unaligned copies.