Legal and Structural things.

Changes:
 - restructured the project layout to match layout convention.
 - Gave the legal things some love
  - Added LICENSE.txt
  - Added HEADER.txt
  - Ran licenseFormat
  - Made gradle include a copy of the LICENSE.txt in every built jar
  - Added license plugin for gradle; you can now run `gradlew licenseFormat` to automatically append the license header in HEADER.txt to all code files
  - Ran `licenseFormat` to update licenses.