Fix a few doc comments.
Add tests.
Archive -> *Archive.
Flatten out and explain a nested if statement.
Inline the NewArchive call.
Drop the rootDir field.
Mention what a blank filename means.
NewWorkspace -> NewWorkspaceFromFilename.
Drop the now unnecessary NewArchive func.