Improved error message when attempting to directly instantiate DefaultComponentSpec

+review REVIEW-5081
Renamed DefaultComponentSpec to BaseComponentSpec and made abstract

+review REVIEW-5081
Improved exception messages

+review REVIEW-5081
Better handling of wildcard types in TypeBuilder

+review REVIEW-5081
Escape ampersands in javadoc

+review REVIEW-5081
Use ModelType to render parameter and class names

+review REVIEW-5081
Renamed DefaultBinarySpec -> BaseBinarySpec

- Added instantiation guards

+review REVIEW-5134
Improvements to TypeBuilder

- Use a standard builder pattern (return this)
- Moved getter off public API

+review REVIEW-5081
Handle javadoc literal escapes in AutoTestedSample integration tests