This bumps the go directive for all of the modules provided by the
repository to 1.17 which will allow the new module graph pruning and
lazy loading capabilities introduced in Go 1.17 to be used once the
updated modules are released.
This means that, as described by the documentation, the go.mod files for
each module now include a separate require block that includes all of
the indirect dependencies
This updates various modules to require go1.13 since they make use of
shifts on integers (technically signed shifts although they are only
ever used with positive values) and the upcoming version of go1.18 along
with the latest version of gopls complains about not requiring go1.13.