Use concrete versions instead of ranges, to make builds reproducible.

Version ranges can behave differently based on new releases, or
on the local repository. For a consistent build, use specific
versions.
Bump to the necessary versions of JUnit and Hamcrest.

These are the minimum versions to build system-rules; upgrade the
dependencies so that the tests will compile and run without
error.