Maid 402 fix storage bug

Look at the File class in particular. Several parameters are forwarded to SelfEncryptor and DataBuffer. They are needed after both are destroyed during a "flush". I could've added accessors for these members instead, but I decided to create another aggregate struct that could be moved to the new class. It allowed boost::filesytem::path to be moved (swapped technically). I'm not sure its worth all the boilplate for a struct to do this.