Move essential build configuration into a Bazel utility function
Update documentation to describe how to use Zirgen out of tree
TODO: make a separate pull request to use this utility in WIP. Once this is done, dependencies won't need to be explicitly updated in WIP to stay in sync with Zirgen.
TODO: make a separate pull request to use this utility in WIP. Once this is done, dependencies won't need to be explicitly updated in WIP to stay in sync with Zirgen.