Update PATCH/xhr check so that IE9 works

Fixes #2476
Merge pull request #2550 from jerryorr/master

Update PATCH/xhr check so that IE9 works
Fix #2538 - Only transition if both pushState and hashChange are requested.
Merge pull request #2565 from braddunbar/hashchange-false

Fix #2538 - Only transition if both pushState and hashChange are requested.
Fix #2569 - Add repository to package.json.
Do not load the hash as a fallback.
Fix #2554 - adding clarification about route behavior
Merge pull request #2572 from braddunbar/no-hash-fallback

Do not load the hash as a fallback.
Document listenTo's implicit 'this' context.

That the context to the callback in listenTo is this, is only
documented as issue discussions on github. This adds explicit
documentation of that semantic.

See Issue #1999
Fix a small typo in patch.
Tweak context comment.
Fix #2535 - Update changelog with Model#set changes.
Merge pull request #2591 from braddunbar/model-set-changelog

Fix #2535 - Update changelog with Model#set changes.
Avoid double _validate calls in _prepareModel
Add "difference" collection method

Seeing as "without" is already included and "difference" is just a different API
for without, I see no reason for not adding it. Prior to this commit, one would
have to do `collection.without.apply(collection, other.models)` which is
definitely not as nice as `collection.difference(other.models)`. Useful for
cases like `availableSeats = allSeats.difference(reservedSeats.models)`.
Ensure Collection#get does not return a false negative during the change:attr event
Merge pull request #2602 from caseywebdev/fallback-get

Ensure Collection#get does not return a false negative during the change:attr event
Fix #2606 - Collection#create success arguments.
Merge pull request #2609 from braddunbar/collection-create

Fix #2606 - Collection#create success arguments.
Use Collection#where for TodoList#remaining

Using `Collection#where` for both speed and symmetry.