fixed bugs where atime and mtime weren't updated on the node and where mtime was valid it would error. Also added more tests