Update backbone.js from 1.0.0 to 1.1.2.

The child of #1476.

- backbone. from 1.0.0 to 1.1.2. Changelog is here: http://backbonejs.org/#changelog.
  - 1.1.0. Made the return values of Collection's `set`, `add`, `remove`, and `reset` more useful. Instead of returning `this`, they now return the changed (added, removed or updated) model or list of models.
  - 1.1.0. Backbone Views no longer automatically attach options passed to the constructor as `this.options` and Backbone Models no longer attach `url` and `urlRoot` options, but you can do it yourself if you prefer.
  - 1.1.0. You are no longer permitted to change the `id` of your model during `parse`. Use `idAttribute` instead.
  - 1.1.1. Backbone Routers now handle query params in route fragments, passing them into the handler as the last argument. Routes specified as strings should no longer include the query string (`'foo?:query'` should be `'foo'`).
  - 1.1.2. Requires underscore >= 1.5.0.

I didn't check. I just ripped the code, which was responsible for handling of options, from the underscore 1.0.0. I did it for a safety reasons. Actually it's difficult to check all the usages of `constructor` among our descendants of it.
I can do a simple assignment and verify manually.