Rename copy_overlapping_memory() to copy_memory()

As per my discussion with @brson in issue #4189, this change makes `vec` and `ptr`'s `copy_memory()` functions use the safer `libc_::memmove()` instead of `libc_::memcpy()`.

This change does *not* remove `libc::funcs::c95::string::memcpy()` itself.