Added toString representations to assist with debugging
REVIEW-1737, REVIEW-1738: Improved exception handling for DeferredConfigurable
- Don't assume extension is missing if it throws UnknownDomainObjectException in configureNow()
- Rethrow configure exception on every access to deferred configurable extension
- Discard actions once they are used to permit garbage collection
Fix integ tests for new exception handling
REVIEW-1738: Ensure that all DeferredConfigurable extensions are configured (late) during project evaluation
- Added a ProjectEvaluator that gets/configures all DeferredConfigurable extensions after the main project evaluation
   - Added ExtensionContainer.getAsMap() to make this easy (configure-on-access)
- Wrap deferred configuration exceptions in GradleScriptException so that there's no difference between failure
  during regular script evaluation and deferred configuration.
REVIEW-1750: Improve test coverage
REVIEW-1755: More test coverage for custom source sets with builder tasks
REVIEW-1748: Updated PolymorphicDomainObjectContainer (& *Delegate) so that it handles addition of elements without a configuration closure.
REVIEW-1748: Document breaking change to incubating PublicationContainer
Added unit test for adding element to polymorphic container without supplying configuration