This commit ensures that transport shutdowns do not panic on
supplemental shutdowns, even if users should not attempt multiple
shutdowns. This is done to make the surface for users a little more
forgiving.
The _transport suffix in these implementation filenames are dropped
since they are already part of the transport package, which makes
the specification both redundant and adds stutter.
TEST=``go test ./...``
This commit applies two bulk changes to the grpc error reporting
mechanisms:
(1.) Error strings for errors that originate within grpc are prefixed
with the package name for better clarity for where they originate
since they could percolate up in the users call chains to the
originator.
(2.) Errors that are, in fact, singletons have been converted from
fmt.Errorf to errors.New and assigned as package-level variables.
This bodes particularly well for enabling API customers to elect to
handle these errors upon receipt via equality comparison. This had
been previous impossible with the original API.
Supplementarily, ``gofmt -w -s=true`` has been run on the repository to
cleanup residual defects, and it has detected and repaired a few.
TEST=Manual go test ./...