Make pre-push hook a little more friendly

 * If deleting a remote branch; don't do the full verification pass.
 * If there are no changes to push, don't do the full verification pass.
 * If there are unstaged or uncommitted changes then the verification
   pass doesn't really help, so prevent pushing when there are unstaged
   or uncommitted changes.
 * If there are no .go files in the changelist, skip full verification
   pass.
Move actual verification script to it's own bash file to facilitate non hook use
Add execute bit!
Merge pull request #921 from johnweldon/script-tweak

Make pre-push hook a little more friendly

 * If deleting a remote branch; don't do the full verification pass.
 * If there are no changes to push, don't do the full verification pass.
 * If there are unstaged or uncommitted changes then the verification
   pass doesn't really help, so prevent pushing when there are unstaged
   or uncommitted changes.