go-vet friendly code

I went through and made our codebase go-vet friendly.This included forking go-logging, until https://github.com/op/go-logging/pull/30 is merged.

Main things found:

- distinguish log.Error and log.Errorf functions
- Initialize structs with field names
- A bit of unreachable code (defers)

cc @whyrusleeping @maybebtc @cryptix