add ContextRowListener for use with DiffMachine

This can be useful when some kind of state needs to be passed through
from the code asking for the next diff event (i.e. the caller of
DiffMachine.next) to the RowListener which handles the event.  One
example is when the event must be written to a stream, in which case
the object passed woult be the stream itself.
Merge remote-tracking branch 'sgoings/master'
move ContextRowListener according to new directory structure
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(*)`
Updated README.

 - Updated outdated reference to "ant javadoc" to "gradle javadoc".
 - Documented known build issue on OS X.
Update README.md

Replaced spaces with tabs to get proper markdown rendering.
Merge branch 'master' of github.com:dclements/revori into test_restructure
Merge pull request #4 from dclements/test_restructure

Restructure Test Layout
Update README.md