Initial dataset on subscriptions
### Feature description

When starting a subscription, Postgraphile offers no way to send an initial set of values: you need to wait for the first event to trigger before receiving an update. While in theory it checks out, it also makes it easy to write code vulnerable to race conditions.

I'd like a way (perhaps an annotation, or just an additional property on the existing annotation?) to tell Postgraphile that a sql function must be called when a subscription is registered, and its return value sent to the new registrant as if an event had occured.

### Motivating example

Imagine a page printing the status for a CI job. You want this page to show the status for the CI job, in real time. When you open the page, various things may happen:

- You may implement your code by simply starting a subscription, and waiting for the first event. In that case, you won't show the state the CI job is in at page load: you'll have to wait for the first next transition to occur.

- To improve that, you could also spawn a regular query at the same time as you start the subscription. But you have a few footguns:
  - You cannot wait for the initial query to run before starting the subscription, since otherwise status changes could be lost between the time the server answers the query and the time you receive this answer (race condition).
  - You cannot run a query parallel to the subscription and just update the display when either returns, because you run the risk of displaying stale data (you may have received a status change event in the time it took for the query to return).

The only available solution is to spawn both a query and a subscription, in parallel, but also to ignore the query results if the subscription happens to answer first. This makes the code quite a bit trickier than it could.

By contrast, if Postgraphile could send an initial event when the subscription starts, we wouldn't have to bother with running a parallel query, or to be careful with the order their results arrive.

### Supporting development

I [tick all that apply]:

<!-- To tick a checkbox, change it from `[ ]` to `[x]` -->

- [ ] am interested in building this feature myself
- [x] am interested in collaborating on building this feature
- [x] am willing to help testing this feature before it's released
- [ ] am willing to write a test-driven test suite for this feature (before it exists)
- [ ] am a [Graphile sponsor](https://www.graphile.org/sponsor/) ❤️
- [ ] have an active [support or consultancy contract](https://www.graphile.org/support/) with Graphile
