title: Sequential Backbone model.set overwrites model.changed attribute
body: <p>I'm sure I'm misunderstanding something about the purpose of the backbone models' <code>changed</code>, <code>changedAttributes</code> and <code>set</code> attribute/methods.  When I call <code>set</code> twice on a model, only the second attributes are included in the <code>changed</code> attribute. e.g:</p>
  
  <pre><code>model.set('field1', 'some diff value', {silent: true});
  model.changed;   // =&gt; {'field1': 'some diff value'}
  
  model.set('field2', 'some other value', {silent: true});
  model.changed;   // =&gt; {'field2': 'some other value'}
  </code></pre>
  
  <p>What I'm expecting from the second access of <code>changed</code> is <code>{'field1': 'some diff value', 'field2': 'some other value'}</code></p>
  
  <p>I want the full list of changed values so I can optimise a sync to the server that would otherwise potentially drag in many other, large, unmodified fields.  I'm doing it currently with my own version of <code>changed</code> that is only equal to <code>{}</code> once the model has been saved to the server.</p>
  
  <p>What am I missing / misunderstanding about Backbone?</p>