View context updating

This pull-request adds a much needed API for updating models on a currently bound view. I've seen this being done a couple of ways, but most often I see this as an example.

```coffeescript
# bind a view with two model contexts.
view = rivets.bind el, item: item, user: john

# unbind all current bindings for the view.
view.unbind()

# change the models on the view.
view.models = {item: item, user: jane}

# rebuild the view so that we get new bindings
# that have references to the new models.
view.build()

# finally, bind the view's binding instances.
view.bind()
```
Aside from being verbose and order-sensitive (otherwise introducing memory leaks), it's also slow because we need to parse the DOM tree since as we're calling `view.build()`. Another issue is that we're doing unnecessary rebuilding of bindings for the "item" model, even though it didn't change at all (only "user" changed).

### View context updating

This pull request adds a new function to the view — `update` — which takes an object containing only the models that you wish to change.

```
view.update user: jane
```

Now only the bindings that we're bound to "user" will get updated and re-bound, all other bindings will be unaffected by the change and no DOM parsing is needed as we are just modifying the existing bindings that were bound to "user".