message: Fixed up segfault on destruction of async procedure
diff: @@ -415,6 +415,16 @@ shutdown()
  ServicePeer::shutdown();
  + // Clear first, so that anything running async will not encounter a
  + // dangling pointer in this object while it's waiting to get to a
  + // cancellation point.
  + procedures->clear();
  + datasets->clear();
  + functions->clear();
  + credentials->clear();
  + plugins->clear();
  +
  + // Now we can clear things
  datasets.reset();
  procedures.reset();
  functions.reset();
  