Added bubbling to key changes

This is my attempt at solving issue #4. When a key's value changes, it triggers observers that are higher up in the keypath. That way you can track changes in sub-objects.

``` javascript
var model = {foo:{bar:"baz"}}

Observable.makeObservable(model);

model.on("foo",function(){ console.log("Something in foo changed")});

model.set("foo.bar","qux"); // Should log "Something in foo changed"
```