two memcpy to memmove changes, fix use of uninitialized err value

Found via valgrind that overlapping areas of memory were being used with `memcpy` in two cases.  Technically [this is Undefined Behavior](http://bryanpendleton.blogspot.com/2010/11/memcpy-memmove-and-overlapping-regions.html).  Whether it causes any problems in practice will vary from platform to platform or optimizer to optimizer, but `memmove` is the right thing (if they indeed are supposed to be able to overlap!)

Also: there was a read on an unassigned variable indicating an error in `Loop_Each`.  I guessed 0 would be the right thing to use.