Fix non-zero write alignment for copy_from/to_user, and optimize

Fix the implementation when write alignment is enabled for
copy_from_user and copy_to_user (it was previously disabled). Also
optimize by using offset addressing in copy_from_user and generating
more 16-bit Thumb2 instructions.