Independent binding support: discussion of function-wrapped binding values

After #909, here's the next part of the the process to support independent bindings.

1. Add support within `bindingAttributeSyntax.js` for function-wrapped bindings. There are two new interfaces to support this: `ko.bindingProvider.getBindingAccessors` and `ko.applyBindingAccessorsToNode`.
2. Retain support in `bindingAttributeSyntax.js` for the existing parallel interfaces `ko.bindingProvider.getBindings` and `ko.applyBindingsToNode`, supporting old-style key/value bindings. These interfaces also allow individual binding values to be function-wrapped using `ko.bindingValueIsAccessor` to mark them as such.
3. Add `getBindingAccessors` to `ko.bindingProvider`.
4. Use `ko.applyBindingAccessorsToNode` in `ko.templateRewriting`.

EDIT: Please excuse the mess I made of this pull request. The actual discussion starts [here](https://github.com/SteveSanderson/knockout/pull/921#issuecomment-16406818) and the actual pull request is now at #933.