Issue #254 - Clean up source tree to enable running unit tests at build
time:

 - Source tree separated out into common, execserver, webserver,
   migration, sql, and soloserver subprojects.
 - Circular dependencies among subprojects have been cleaned up and
   removed.
 - Unit tests have been moved under the */src/test/ directories of
   appropriate subprojects.
 - Unit tests broken by the move, such as those that still look for
   files under /unit are disabled for now to be fixed in a separte task.
 - Build script has been cleaned up to adhere more closely to proper
   Gradle conventions.