Update README and improve testing of overriding versions

Previously, the README showed an example that used a direct file
dependency to override the versions that were being retrieved from
a repository. This doesn't work as Gradle always processes direct
file dependencies before any dependencies that have come from a
repository. The README has been updated to show the use of both
a local Maven repository and a flat file repository. The tests have
been enhanced to check that both approaches work as expected.

Closes #40