Commit generated default dependencies as they're read

Closes #1284. 

- Move `this._computedBindings = {}` out of `_setupComputes` and into
  `setup`
- Overwrite `_get` in `_setupDefaults` to set defaults with `this.attr`
  when they're read in defaultGenerators
- Prevent the calling of a defaultGenerator if its value is passed in on
  instantiation
- Create a test for reading defaults with `this.attr` in
  defaultGenerators
- Create a test for defining defaults on instantiation
Scratch all of this: 

> I think I've talked myself into moving _computedBindings back into _setupComputes, removing the _computedBindings definitions in can.List.setup and can.LazyMap.setup, not passing defaults to _setupComputes, and changing the order that _setupDefaults and _setupComputes are being called.

> Theoretically that should all work just the same.

That won't work at all. What we want is for `_computedBindings` to be defined early on before we call `_setupDefaults` and then to run `_setupComputes` after all of the defaults have been processed/defined in `_setupDefaults`. 

Unfortunately this means `_computedBindings` needs to be defined in anything that extends `can.Map` and provides its own `setup` method. 

Sorry for the confusion.