Fix instance properties for outside constructors

Also add Montage.prototype properties to non-Montage constructors.
This also means that the super wasn't working on the instances.

Also did some code cleanup in the specialize method.
Add default label to AbstractLink

It's read from the DOM
Fix templateObjects for objects outside the component tree

Return the object from the template when it was not found in the component tree.
This can lead to false positives because we're not checking for disposed objects (components inside a repetition)
Add spec for blueprints with same internal module ID
Refactor promises in blueprint
Use correct require when loading blueprints
Add require to blueprint Binder

Because a binder can only contain blueprints from one package
Correctly (not) cache blueprints in binder

Only store blueprints if they're from the same package as the binder
Move Blueprint.getBlueprintWithModuleId to constructor properties
Add a couple of names to functions
Fix blueprint spec

Also added constructor names for better debugging
Ensure label correct when undoing/redoing

The undo/redoEntries were already off the stack so consulting the label
while in the middle of undoing or redoing was incorrect.
Preserve undo label as basis for redoLabel

This can always be customized if necessary but in doing so an author
should consider whether the label is for an undo or redo operation
lest the label appear reversed.

This change just does that by default.
Fix attribute properties creation

The writable attribute is hierarchical meaning that of there's already a property, in the prototype chain, with the same name of the one we're trying to create then creation will not be possible.
Fix no-prototype-support of Montage.specialize

Avoid copying "_montage_metadata" and "__state__"
Don't include tools in published package
Guard against undefined getOwnPropertyDescriptors

IE10 was having an issue with it
Add missing second parameter to importNode
Fix serialization bindings

There was a problem where bound components were not being visited
properly because the serialization was based on a fresh syntax tree
instead of the annotated syntax tree produced by the observer.
Fix localizations serialization