This creates an `mkGoEnv` function which takes care of adding the
correct Go package to your development environment and installs
development dependencies from tools.go in a Nix derivation.
The "normal" workflow around Go with tools.go just sticks development
dependencies in $GOBIN which isn't ideal since you have no separation
between projects.
This calculates the output hashes in pure Go and removes Nix from
being a run time dependency of gomod2nix.
Additionally it should be faster, but that's untested.