Added a mutation type that allows defaults to be applied prior to any mutations.
Changed type registration handlers to declare the target containers as the subject, rather than the extensions container, and to attach type factories prior to any mutations of the target conatiner.
Javadocs.
Bridge the binaries container into the model registry the same way as tasks and components containers.
PolymorphicDomainObjectContainer<T> instances bridged into the model are now viewed as a CollectionBuilder<T> instance from the model DSL.

- Added CollectionBuilder.named(name, action) to apply configuration to a particular element.
- Provide roughly equivalent DSL for creating and configuring elements.
Added some rough notes re the changes to the model DSL for configuring containers.
Added `@Defaults` annotation, can be applied to a method to define a rule that applied defaults to the subject. Works the same as `@Mutate` and `@Finalize` but runs first.
Javadocs.
Spec updates as more issues are uncovered.
Added methods to CollectionBuilder to allow action to be executed before mutate rules for elements in the collection, and added some filter-by-type overloads for various methods.

Also added a get() method and corresponding DSL support, currently available during mutation to help with migration. This door will be closed at some point.
Use CollectionBuilder methods to apply defaults to component source sets.
Changed tests so they no longer declare duplicate components. This is not supported by the DSL any more.
Whitespace
Had to put the default location back for generated source for now.
Updated notes regarding breaking changes to model DSL.