Prevent implicit move constructor deletion

Explanation:
Interestingly, auto foo = Bar(blah); can technically call the constructor on Bar, then either copy or move it to foo, although a smart compiler will construct it in place. Defining Archive(const string &archiveFilename) removed the implicit definition of a constructor, making it impossible to do "auto foo = Bar(blah);"-style construction. Manually specifying the move constructor alleviates this issue.