title: Collection sorting with comparator only works after fetch is complete?
body: <p>I have a simple collection of messages that I want to reverse sort on time (newest on top), using <code>comparator</code>:</p>
  
  <pre><code>...
  this.comparator = function(message) {
      var time = new Date(message.get("time")).getTime();
      return time;
  }
  ...
  </code></pre>
  
  <p>In my view, I use <code>fetch</code> and <code>add</code> event:</p>
  
  <pre><code>messages = new MessageCollection();
  messages.fetch({update: true});
  messages.on("add", this.appendMessage);
  
  ...
  
  appendMessage: function(message) {
      var messageView = new MessageView({
          model: message
      });
      this.$el.prepend(messageView.render().el);
  }
  </code></pre>
  
  <p>Sadly, the messages are not rendered in the order I am looking for, but in the original order they were in coming from the server.</p>
  
  <p>Now, after some testing I found out that when I add all the messages at once (using <code>reset</code>), the order is as I expected. </p>
  
  <pre><code>messages.fetch();
  messages.on("reset", this.appendCollection);
  
  ...
  
  appendCollection: function(messages) {
      messages.each(function(message) {
          this.appendMessage(message);
      }, this);
  }
  </code></pre>
  
  <p>Even though I can understand this process since a collection probably can only figure out how it's supposed to be sorted after all models are added, this (the <code>on("add")</code> configuration) used to work in Backbone 0.9.2. </p>
  
  <p>Am I missing something? Did the comparator method change, or the event model in regard to <code>add</code>? Or am I going at it the wrong way? Thanks!</p>