Constructor

To allow the migration from Montage.create to Constructor.specialize
The following is done:
- Any properties defined on the prototype that are used on the constructor fire a deperecation warning prompting the developer to move them to the second argument of specialize().
- Adds a create method to the constructor can be used as Proto.create().
- Adds support for 'didCreate' so that it can be used interchangeably with the 'constructor' property.
- When calling Montage.create with a function as the first argument we use the function as a constructor or call specialize on it to create a subtype.