Modified hook_full_path to do what you expect

This now only creates the full path to the hook rather than checking
that the hook exists.

This will break the build.
[ci skip]
Created hook files for the big- hooks

Moved the code to handle big-push and big-pull into their own C files.