Wish list for 3.11.

These aren't promises, but things I'd like to do:

- ZEO support for loading blobs via HTTP.

- ZEO cache fix for loadBefore.

- invalidation events.

- Make DBs context manager, so in a simple script, one could do:

  with ZEO.DB(someaddr) as connection:
      do some things in a transaction. Commit and close at the end.

- Persistent sets.

- PxBTrees, persistent objects as keys in BTrees.

  - Compare on persistent references.

- Python BTrees and persistence.

- JSONic read-only mode where you can read most objects for which you
  don't have classes as long at they have the default getstate.
  This might be as simple as using a variation of broken objects.

- persistent.Object, which handles the common case of a simple object
  that just has some data. (The moral equivalent of a JS object. :)

- API to preload objects.

  Say you know you're going to oterate over an array of objects, you
  might signal that intend to use the object with something like::

    for oject in objects:
        object._p_will_use()

  (I think there's an RFC for something like this.)

  For most storages, _p_will_use won't have any effect, but for ZEO,
  it could cause a load request to be sent to the server if the object
  isn't already loaded or in the zeo cache. This way, you could have
  lots of loads in flight at once, mitigating round-trip costs.

- ZEO cache iterator, to facilitate analysis of cache contents.

- Update file-storage iterator to expose file position as non-private
  var for transactions and database records.

  Expose trans size.

- Update ZEO ClientStorage to block for soem short time rather than
  error on short disconnection.

- Remove silly ZEO connection backooff by default.

- Rewrite ZEO connection logic using async IO rather than threads.

