Lots of tidying up and new features

Changes:
 * Major code cleanup
 * Implemented comprehensive set of functional tests
 * Added filtering support when verifying requests
 * Fixed issue with standalone project and Java 7
 * Renamed fields in JSON messages to be shorter
 * Removed special 'contentType' field
 * Added Travis CI meta-data