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

The issue was as follows:

if the model is:

    { a: { b: { c: 'foo' } }}

and we bind the observer on 'a.b.c'

    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