docs: function pending(options) {
    options = options || {};
    var store = options.store;
    var autoRemove = (typeof options.autoRemove === 'undefined') ? true : options.autoRemove;
    
    if (!store) throw new Error('pending middleware requires a store');
    
    return function pending(stanza, next) {
      if (!stanza.id || !(stanza.type == 'result' || stanza.type == 'error')) {
        return next();
      }
      
      var key = stanza.from + ':' + stanza.id;
      store.get(key, function(err, data) {
        if (err) {
          next(err);
        } else if (!data) {
          next();
        } else {
          stanza.irt =
          stanza.inReplyTo = 
          stanza.inResponseTo =
          stanza.regarding = data;
          if (autoRemove) { store.remove(key); }
          next();
        }
      });
    }
  }