Download QDox 2 from Central.

Download from Central rather than committing as a binary to avoid growing
the repository on upgrade.
Use QDox 2 for hamcrest-generator.

Upgrade the build and fix API changes.
Prepare tests for having a single Reader implementation.

- Make all sample matcher methods match the requirements
   for factory methods.
- Move sample matchers into separate source, to work around
   QDox not considering annotations when parsing from loaded
   classes.
- Assert that an expected item is there when testing.
Run unit tests in the directory of the module they're defined in.
Copy tests over from ReflectiveFactoryReaderTest to QDoxFactoryReaderTest.

To prepare for consolidating into a single reader, copy across
all tests.
Adjust tests for behaviour that works here.

These are tests for things the reflective reader couldn't do. As
QDox provides these, change them to positive tests.
Extend QDoxFactoryReader to cover behaviour that was just in the reflective reader.

Rely more on QDox 2.0 and ensure that the QDox reader passes all
tests that the reflective reader does.
Use the correct form for nested classes.
Remove special case that expected incorrect results with non-1.7 JVMs.
Use more structure from the original reader.

Copy over some structure from the original reader implementation, to clarify
behaviour.
Drop the now-unused ReflectiveFactoryReader.
Return methods in lexical order.
Unconditionally create the target directory.

For running in builds, don't require clients to create the specified
directory in advance.
Commit qdox-2.0-M2 directly, rather than downloading.

From: https://repo1.maven.org/maven2/com/thoughtworks/qdox/qdox/2.0-M2/qdox-2.0-M2.jar
sha1sum: fa5d16f9a3ab0bba30e37bd0881f32b2402bcb93
Merge pull request #66 from josephw/use-qdox-2

Use QDox 2 to generate sugar class from a single pass of parsing source