added move functionality, needs thorough testing.
manual testing was performed several times, but its a complicated operation and requires nested levels of testing to ensure everything stays intact.
this also needs locking, which is not yet in place.
move function implemented in full nested set
added locks to move() as it updates the entire table
TODO list for optimizing move later