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.
No longer build hamcrest-all.

There's no need for hamcrest-all when using a
dependency manager; omit it.
Copy the existing release poms into place.

- Start with the existing release poms; copy them into place so they
   can be used to build with.
- Ignore the Maven build's working directory.
Specify the current version in the build poms.

Specify the current version and declare a source encoding so these
poms can be used directly to build.
Fold hamcrest-api into hamcrest-core to match distribution.

Hamcrest-api is already folded into hamcrest-core during release.
Move the classes so it's like that at build time as well.
Include necessary build and test dependencies in the poms.

- Include the dependencies to build and test hamcrest-core,
   hamcrest-generator and hamcrest-library.
- As well as the test dependencies, copy over AbstractMatcherTest.java
   to avoid introducing a new test-utilities module.
- Since 4.11, junit doesn't bundle any dependencies, so use
   it instead of junit-dep.
Create CoreMatchers in the generate-sources phase.

Create CoreMatchers.java in generate-sources, then include it
in the build.
Copy the config from CoreMatchers across to Matchers.

Copy across the configuration so that Matchers is built in the same way
as CoreMatchers.