function StreamMultiplexer(stream) {
    this._stream = stream;

    this._consumers = new IntMap();
    this._requests = new IntMap();
    this._nonce = 0;
    this._emitting = false;
    this._repeatEmit = false;
    this._cached_value = null;
    this.paused = true;

    var self = this;
    this._pullCb = function _pullCb(err, x) {
        self.paused = true;
        if (self._requests.size === self._consumers.size) {
            self._send(err, x);
        }
        else {
            self._saved_token = [err, x];
        }
    };
}
Creates a new Stream, which when read from, only returns the last
seen value from the source. The source stream does not experience
back-pressure. Useful if you're using a Stream to model a changing
property which you need to query periodically.

@id latest
@section Transforms
@name Stream.latest()
@api public

// slowThing will always get the last known mouse position
// when it asks for more data from the mousePosition stream
mousePosition.latest().map(slowThing)