Treat functions and observables differently in ko.bindingContext. If a function is provided, the return value of the function becomes $rawData, and if an observable, will be unwrapped.
Add spec about $rawData value in extended context when binding to a function that returns an observable view model.
Merge pull request #1206 from knockout/1206-fix-rawData

For observable view models, $rawData should be the observable