properly rename files by changing file.name and newly registering with parent
diff --git a/memmap.go b/memmap.go
index 8a0e3be..3bf85f7 100644
--- a/memmap.go
+++ b/memmap.go
@@ -293,8 +293,12 @@
 		if _, ok := m.getData()[newname]; !ok {
 			m.runlock()
 			m.lock()
-			m.getData()[newname] = m.getData()[oldname]
+			m.unRegisterWithParent(oldname)
+			file := m.getData()[oldname].(*InMemoryFile)
 			delete(m.getData(), oldname)
+			file.name = newname
+			m.getData()[newname] = file
+			m.registerWithParent(file)
 			m.unlock()
 			m.rlock()
 		} else {