Java 1390 - Phase One: tidy up the current build

...making it simpler to understand/maintain.

Check the individual commits, but changes include:
 - Making the test folders consistent across all modules
 - Fixing the "provided" scope and simplifying dependencies
 - Splitting the mega-build file into one main build file and individual files for each module's exceptions
 - Removing checkstyle-lite
 - Correcting the separation between unit and functional tests, and removing legacy.
The netflix "provided" plugin.  MavenCentral has an older version, 1.12.2, which doesn't work with gradle 2.0 which we are using.