WIP switch over to a builder style for code generation.

Should make writing code generators easier (hmm) and allow automatic
tracking of dependencies (imports).
Complete switch-over to builder style code generation.
Remove redundant JavaClassBuilder.
Add basic generator test cases.
Generated classes now carry Matches annotation.
Updates to code generation for extensible matchers.
Add test for generating into non-default package.
Update tests for generating into existing and non-existing packages.
Add test for verifying behaviour with different styles of property names.
Fix generated code to allow setting matchers of a supertype of the
property type.
Adapt generator to handle complex property types appropriately.
Update property-types test case with more realistic types.
Improvements to generated code for generic property types.

Note that method call 'equalTo(x)' where x is a Box<? extends Widget>)
returns a matcher of type
Matcher<? extends Box<? extends Widget>> by default. This is
undesirable, as it can't then be assigned to a PropertyMatcher that
accepts Matcher<? super Box<? extends Widget>>. This problem can be
avoided by explicitly stating the type, as in:
CoreMatcher.<Box<? extends Widget>>equalTo(x).

This is only necessary when the type of x includes a wildcard at the top
level. If x has type <Box<Box<? extends Widget>> then the return type
is Matcher<Box<Box<? extends Widget>>>, which is fine.
Change structure of generated code for extensible matcher to include a
nested class and static factory methods in all cases.
Initial data for test case for generic type matcher.
Partial implementation of generics matcher generation.
Add TypeBuilder constant for 'void' type.
Add matchesSafely method to generated matchers.
Extend generator to support matchers of generic types.
Fix issue with generated matchesSafely method.

The call to super in MatchesSafely does not type-check for extensible
matchers when the method is overridden in the main class. This change moves
the method into the nested class.