Adding gradle build system into repository

- Update README with markdown syntax
- Add start/stop server functionality
- Added start/stop and updated documentation
- Update README
- Try to fix headings of README
- Move parent server project to server subdirectory
- Add server build file into repository
- Update README with restructuring changes
- Moving server/* to root again.
- Move unit test to correct location and update build.gradle
- add junit test dependency
- Move source files to standard locations
- Update gradle wrapper to 1.3
- Remove gradle.properties
- Remove duplicate dependency section
- Update task dependency style to new standard
Add .travis.yml file + README build status indicator
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