Fix updating git repo

Without these changes, even when passing `update => true` to `git::repo`, the repo would not update because changes from origin were not being fetched before checking the diff, so I have made this explicit in the `unless` attribute.

I also updated the `command` attribute to just `reset --hard` to the origin branch (rather than pulling, which could potentially cause merge conflicts) to ensure the repo is always in the correct state.