Adds pre-commit hook, hook config script, and relevant README

The pre-commit hook will automatically gofmt code in place, warning you about any changes. It will also fail to commit if either golint or go vet fails.

As git hooks cannot be added to a repository in a way that automatically applies them, `configure-hooks.sh` can be ran to link this pre-commit hook.

@dmp42 @stevvooe 
Will this place the `gofmt` changes in the index and proceed with the commit? I would prefer that it fails and the results are uncommitted. Also, I am not sure about gating commits on `golint`. Looking [here](https://github.com/golang/lint/issues/89), it seems like the intent is to make `golint` quite noisy. This will be problematic when exported APIs migrate from wishes of `golint` maintainers.