presubmit.sh refactor (#445)
presubmit.sh refactor (#445)

Refactorings:
* Replaced set -x with explicit output (less overall noise)
* Lints run before regeneration
* gocyclo exit code explicitly ignored (it was ignored before, but in a subtle
  manner)
* Removed trap-based regeneration, removed file deletion
* Single defined set of Go source files (reused where applicable)

New features:
* Added dependencies check
* Added general-utility flags (--fix, --no-*)
* Usage and top-level documentation
Martin2112/trillian,google/trillian,gdbelvin/trillian,daviddrysdale/trillian,gtank/trillian,gdbelvin/trillian,RJPercival/trillian,daviddrysdale/trillian,codingllama/trillian,google/trillian,gtank/trillian,daviddrysdale/trillian,codingllama/trillian,Martin2112/trillian,AlCutter/trillian,RJPercival/trillian,gdbelvin/trillian,Martin2112/trillian,AlCutter/trillian