AS4 regression: cannot set HTTP headers or status from gateway
The compatibility layer between AS4 and the gateway interface used by `@apollo/gateway` ignores any HTTP headers or status codes that might be set by the gateway (say, by a GraphQLDataSource).

```
import {ApolloServer as AS4 } from '@apollo/server';
import {startStandaloneServer} from '@apollo/server/standalone'
import { ApolloGateway, RemoteGraphQLDataSource } from '@apollo/gateway';
import { buildSubgraphSchema } from '@apollo/subgraph';
import gql from 'graphql-tag';

const subgraph3 = new AS4({ schema: buildSubgraphSchema({ typeDefs: gql`type Query{x: ID}` }) });
await startStandaloneServer(subgraph3, {listen: {port: 4343}});

const gateway = new ApolloGateway({
  serviceList: [{ name: 's', url: 'http://localhost:4343/' }],
  buildService({ url, name }) {
    return new (class extends RemoteGraphQLDataSource {
      willSendRequest( options) {
        if (options.kind === 'incoming operation') {
          options.incomingRequestContext.response.http.headers.set('x-foo', 'bar');
        }
      }
    })({
      url,
    });
  }
});

const supergraph3 = new AS4({ gateway });
await startStandaloneServer(supergraph3, {listen: {port: 4344}});
```

Run `{x}`. The equivalent AS3 code sets the `x-foo` header but AS4 does not.

I know how to fix this but it'll have to wait until next week.