code: Add support for pmem non-temporal memcpy, memmove and memset

This pull request integrates the support for the PM versions of memset, memmove and memcpy using non-temporal instructions.
If `start2 > start1`, then the result is negative, but the function returned type is `uint32_t`.
Also, since the pointers are 64-bit, the result should be large enough to hold a 64-bit offset.
What about `off_t` or 'ptrdiff_t'?