This improves the Java API and makes it more idiomatic. The methods
were not moved to be static methods of the relevant types in all cases
due to a bad interaction with a Kotlin auto-completion bug, and because
static methods on interfaces are new in Java 8 and Kotlin is not yet
emitting Java 8 bytecode.
Also, introduce a packages.md file so packages can be documented.
Removed redundant parts of the docsite generator.
Gradle now calls the docsite requirements installation script when building docs via buildDocs
Added docs build script and moved all docs building related code into it
Corrected directories for build.