code: function routeChat(call) {
    call.on('data', function(note) {
      var key = pointKey(note.location);
      /* For each note sent, respond with all previous notes that correspond to
       * the same point */
      if (route_notes.hasOwnProperty(key)) {
        _.each(route_notes[key], function(note) {
          call.write(note);
        });
      } else {
        route_notes[key] = [];
      }
      // Then add the new note to the list
      route_notes[key].push(JSON.parse(JSON.stringify(note)));
    });
    call.on('end', function() {
      call.end();
    });
  }
docs: routeChat handler. Receives a stream of message/location pairs, and responds
  with a stream of all previous messages at each of those locations.
  @param {Duplex} call The stream for incoming and outgoing messages