Implemented a better *Dir.AddDir that handles paths given like
"dir/nesteddir/finaldir" by creating a Dir for each appending it to it's
parent. Also ignores absolute paths as it should add the dir to the dir.

Added more Dir tests.
Reimplement a better *Dir.AddFile that handles deep nested paths by
creating dir maps for them.

Added tests for AddFile and also changed the
names for test files.