Warn when reporting usage metrics from a subgraph to GraphOS, or when attempting to report metrics to a cloud-hosted supergraph in GraphOS
### Context

Right now, it's possible to use the `ApolloServerUsageReportingPlugin` to report usage metrics to cloud-hosted supergraphs on GraphOS. This happens automatically if you run your Apollo Server with an `APOLLO_KEY` and `APOLLO_GRAPH_REF` in environment variables. This creates an issue on the GraphOS side because the router in the cloud-hosted supergraph is also reporting metrics, so it creates double counts the requests.

We're going to do some work on the cloud side to disallow reporting self-hosted usage metrics from an Apollo Server to cloud-hosted supergraphs. At the same time, I think it'd be nice of Apollo Server could warn against this to the extent it can detect the issue happening.

### Suggestions

1. If Apollo Server detects that it's running a subgraph (ie, a schema with a _Service.sdl: string field), it would be nice if it printed a warning if the usage reporting plugin is enabled. It could also be nice if usage reporting from the subgraph required being specifically enabled with the plugin as opposed to just the environment variables.
2. If Apollo Server is able to detect that the API key it has is from a cloud-hosted supergraph (maybe it makes a call to the Studio API?), then it'd be really nice if we logged an error along these lines: "Whoops! It looks like you're trying to use an API key associated to a serverless supergraph. See the docs here to learn more about how metrics work in Apollo Studio and how to configure your supergraph or subgraph servers properly https://www.apollographql.com/docs/apollo-server/monitoring/metrics/#connecting-to-apollo-studio"