Move dependency-related binding tests to a new file. Add a couple binding tests.
Modify applyBindingsToNodeInternal so that it accepts a "bindingContext" instead of a "viewModelOrBindingContext". Move the logic to conditionally create a binding context from applyBindingsToNodeInternal to each of the external applyBindings* functions. Note that this breaks the current implementation of observable view models, but that's something we can fix later (see #485).

Make the "shouldBindDescendants" return value of applyBindingsToNodeInternal exported so external plugins can access it when calling ko.applyBindingsToNode.
Use valueAccessors option in bindingProvider and templateRewriting. In bindingAttributeSyntax, use new binding format internally and provide conversions from old format for backwards compatibility.
Remove support for marking value-accessor funcions in old-style bindings using ko.bindingValueIsAccessor.