Memoize staged files in HookSpecificCheck
Memoize staged files in HookSpecificCheck

When calling staged_files in a `HookSpecificCheck`, it was possible for
two subsequent calls to return different instances of `StagedFile`,
resulting in different temporary files associated with each
`StagedFile`.

The solution was to memoize the result so that the same `StagedFile`
instances are returned for each subsequent call.

Change-Id: Id45b7cd2217d641d328d7704439dbfddd26cb806
Reviewed-on: https://gerrit.causes.com/16585
Tested-by: Shane da Silva <6f6e68d1df92f30cb4b3ce35260ddf94a402f33d@causes.com>
Reviewed-by: Alex Wallace <461c07effd15f00b2944fe6dc80cb9421a61a570@causes.com>

oxocode/overcommit,gnagel/overcommit,oxocode/overcommit,blech75/overcommit,TheSooth/overcommit,blech75/overcommit,TheSooth/overcommit,gnagel/overcommit