made kx.observer.subscribe and kx.observer.unsubscribe chainable and gave them an optional callback which gets the original return value as argument, closes konfirm/konflux#10