Big rpcsec_gss init upcalls


- Add a pointer to relevant cache item to the rqst and the deferred rqst.

  We'd like this to eventually also be useful for preserving compound
  state so that we no longer e.g. need the idmapd cache (at which point
  the whole deferral mechanism can be greatly simplified).  When we do
  that, we'll also need to make sure that deferred request does not take
  real references on filehandles, for example--store the bits in the
  filehandle, but the lookup to get the dentry will have to be redone on
  revisit.

  Rough plan: add void *data pointer to cache_deferred_req, have
  it copy that out of some standard field in the rqst if it's
  available.  Also need a free() in case it's dropped.

  Note this might be easier if we first worked out how to rewrite
  deferral mechanism to eliminate need for idmapd special-casing.
  At that point we might not need deferral system at all, since
  there'd be no alternative deferral functions.

  In any case, let's try to get this working for compound
  deferrals at the same time, so we make it easier rather than
  harder to eliminate the rpc.idmapd cruft.

  Note for more general case: processing takes references to
  resources (filehandles, gss creds, ...) which will need to be
  dropped before deferral.

- Rewrite rsi lookup to use this information.

- Write new read/write methods (or use pipefs?  Take another look at
  it) which give an alternative way of reading/writing existing
  upcalls.

- Add switch which stops sending large upcalls to old cache channel.

- Add further support for large upcalls on new channel: page arrays,
  etc.