Optimize write alignment in ARM kernel memory functions patch

The armv6/v7 kernel memory functions patch now has optimized write
alignment and tail code using multiple register load/store
instructions for regular memcpy (as opposed to copy
from/to user which require single word loads and stores), which is
faster.

The write alignment boundary is set to 32 bytes for both armv6 and
armv7.