Some more backend comments, and a pre-commit hook.

The pre-commit hook is for formatting go code. It could probably be
written better...

Basically it just calls gofmt with our chosen flags on every go file
found in the backend directory.