Fix issue where observer.unobserve didn't unbind the event listener

The issue was as follows:

if the model is:

```javascript
{ a: { b: { c: 'foo' } }}
```

and we bind the observer on 'a.b.c'

```javascript
var obs = new Rivets.Observer(view, model, "a.b.c", function() {
  // This should not be called after an unobserve
});
```

and then call `obs.unobserve()`

Then when we change the model (`model.a.b.c = "bar";`), the event handler is
still called

Added a test to check for this