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
check id only in current object
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
Build 0.6.8.
Merge branch 'master' of https://github.com/alexeyraspopov/rivets into check-id-as-object-property

Conflicts:
	dist/rivets.min.js
Merge branch 'check-id-as-object-property'
Merge branch 'master' of https://github.com/mikeric/rivets into optimize-each-routine