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
Make the observer test clearer
Pass correct callback into unbind call
Merge branch 'fix-observer-unobserve' of https://github.com/zmbush/rivets into observer/fix-unobserving-on-end-key

Conflicts:
	dist/rivets.min.js
Merge pull request #304 from mikeric/observer/fix-unobserving-on-end-key

Fix unobserving on end key