Backbone improvements

Improvements to the Backbone definition.

* Removed unused interfaces.
* Removing invalid members
* Adding mixins to Model.
* Many imporvements to Backbone.History.
* Adding internal methods
 * Because Backbone is usually extended and we end up using internal methods when overriding existing behavior. If they are not declared here, you will need to declare them in your classes before calling them. Typescript should provide the signatures even if they are internal. As with javascript, its up to the developer to not use undocumented or internal methods outside of scope. Hopefully, one day there will be some kind of "protected" signature for them.