Revert "Remove StagedFile and FileMethods"

This reverts commit be2b7ea1c2fbf798d950002e1a676f8af13a5911.

FileMethods was obsolete, StagedFile absolutely was not. This re-adds
the staged file functionality.

Fixes #9.

Change-Id: I573c1c12cb722dfd90ac1a32cb95c9c4f5d5cf5d
Reviewed-on: https://gerrit.causes.com/23801
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Greg Hurrell <greg@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>