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.
Issue #254 - Add .gitignores to ignore test output files.
Issue #254 - Fix .travis.yml to use correct gradle command.
Issue #254 - Update README.
Issue #254 - Alphabetize some imports, strip whitespace, and add file headers.
Issue #254 - Alphabetize dependencies.
Merge pull request #255 from davidzchen/restructure

Fixes #254 - Clean up source tree to enable running unit tests at build