Moving tests to a package.
Cleaning up headers in test code.
Removing use of junit.framework.TestCase in favor of org.junit utilities.

Everything worked already off of the modern JUnit @Test syntax, but was still
inheriting from the older junit.framework.TestCase to take advantage of the static
asserts.  These have been changed to static imports from org.junit.Assert.
Using consistent naming for test classes.

- Test classes that were named something other than *Test have been renamed so that they will be seen by gradle.
- Unnecessary casting has been removed from Collections.emptySet() calls.
- The right hand side of generic instantiation in a few cases has been added.
Removing dead code from tests.
Adding code coverage and static analysis to gradle.

- Added cobertura for code coverage.
- Added FindBugs as a task.
Removing static imports from junit.framework
Using the SplitVerifier with JDK7 to allow cobertura to work.
Doc update.
Using assertNull instead of assertEquals(x, null).
Minor cleanup of build script based on comments from @dougborg.
Using consistent argument order.

Previously the tests used a mixed of `assert*(expected, actual)` and `assert*(actual, expected)`,
this change does the following:

- Converts it to consistently use `assert*(expected, actual)`, following junit standard practices.
- Removed the custom static methods that wrapped a few of the junit calls.
- Swapped out `assertEquals(null, *)` for `assertNull(*)`
Merge branch 'master' of github.com:dclements/revori into test_restructure
Merge pull request #4 from dclements/test_restructure

Restructure Test Layout