(#20843) Support history rewrites in the git workflow

This commit changes the post-update hook to fetch and reset, instead of
just pulling. This came about because I had students that would amend
commits or rebase, and the rewritten history would not make it to the
puppet master.
Merge pull request #99 from supercow/ticket/fundamentals/20843_allow_history_rewrites_in_git_hooks

(#20843) Support history rewrites in the git workflow