Adds utility for running unit tests before push

 - If pre-push.git is symlinked to your repos .git/hooks directory as pre-push it will cause test
   suites to run. If the test suite fails it aborts the push.