Bump version to 3.1.0
Implemented loader registry
Simplify by removing unused callback parameter
Implemented default component loader
Ensure each component loads only once

… even if you ask for it multiple times before it's finished loading
Remove redundant code
Switch to DocumentFragment as the normalised form of a component template (as it makes cloning for render simpler and faster)
Component binding, part 1
Rearrange component loader code a bit; I think it's a bit cleaner this way.
Component binding, part 2 (of 2, hopefully)
default loader - use error callback instead of prefix string; move AMD logic out of the template and viewmodel loaders; simplify parallel loading logic.
Get 'require' function through AMD; remove unused parameter from resolveConfig
Use /*! … */ comment format for banner so that external minifiers know to preserve it
Minor spec fixes
component binding: accept name as single parameter (similar to template); refactor to remove dom-data; modify Jasmine so we can catch errors thrown asynchronously.
Prevent a possible memory leak
test using component binding against an observable
test that createViewModel is called with the component definition as the context
Merge pull request #1374 from knockout/uglify-friendly-license-header

Use /*! … */ comment format for banner so that external minifiers know to preserve it
Revert to using array-of-nodes as the template format; fix minification issue; unregister already calls clearCachedDefinition, so no need to call it again.