Improve can.scope and $.fn.scope code and add assignment support

This patch makes it so all of the following are supported:
```js
$(el).scope() // => can.Map instance
$(el).scope("foo") // => fetches "foo" property of can.Map instance
$(el).scope("foo", value) // => sets value as the value for the "foo" property on that instance
```
as well as the `can.scope()` equivalents.

Note that the tests for this exposed a library incompatibility bug, which I'd consider out of scope for this merge request -- the tests will fail the same way even without the new `$.fn.scope`.