Move shouldFetch to model and collection instances

Fairly straightforward, I don't see impact on Phoenix as it turns out we aren't using `forceFetch`.

Two questions:

1. If this pull request is rejected: https://github.com/documentcloud/backbone/pull/2057 what is the real impact of keeping a try / catch block? The code is far simpler and smaller to implement this way than overriding url.

2. Should we explicitly disable support for vanilla Backbone.Model and Backbone.Collection instances being passed to bindDataObject, presently the `if (dataObject.shouldFetch) {` check is kept around for that. If we do explicitly disable support for that we will need to throw an error instead of doing a noop.