Fix ambiguity around when schema definition may be omitted (#3839)
This PR implements the tests and fixes necessary for [Spec RFC
#987](https://github.com/graphql/graphql-spec/pull/987).
This PR is made of three main commits:
1. Test printing a schema that has `Query`, `Mutation` and `Virus`
types, but only supports `query` operations (via the `Query` type) and
does _not_ support `mutation` operations.
2. Test parsing this same schema text, and assert that the schema does
not have a mutation type.
3. Fix the printing of the schema.
Co-authored-by: Lee Byron <lee@leebyron.com>