Gradle

Adds a Gradle-based build system for the project.

Moves source files into the structure expected by Gradle. This includes separating test code to be separate from non-test code, and eliminates the dependency of non-test code on JUnit.

Keeps the Eclipse project files in the repository, but makes them the same as the output of 'gradle eclipse'. Removes .jar dependencies that are no longer necessary.

Adds information about the build system to the README.

Standardizes test classes to use JUnit 4 and consistent class names and adds them all to the AllTests suite.