Remove StagedFile and FileMethods

In the interest of locality and sanity. Discovered that StagedFile was
being used as nothing more than a wrapper for a path, so I killed it.
Moved FileMethods onto the objects that used them, with shared
functionlity in Utils.

Change-Id: Iff5afc8c95809b5de6eb9b1526267bf05294bdf4
Reviewed-on: https://gerrit.causes.com/22667
Tested-by: Aiden Scandella <aiden@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>
Support empty hook state

I want to allow for a future where this utility can be used even without
installing any of the 'default' checks (the ones in this repo). This
way, the hook infrastructure remains dormant until repo-specific hooks
are added (e.g. myproject.git:.githooks/pre_commit/custom_hook.rb).

Change-Id: I6393e4c02ba569799d816598d03a6ed6cb2d8014
Reviewed-on: https://gerrit.causes.com/22670
Tested-by: Aiden Scandella <aiden@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>