Eliminate extra newlines.

* No additional trailing newline after the last type in a file.
* No additional newline between package and types when there are no imports.
I mentioned to @tbroyer about having a JavaWriter-specific version of `Joiner` which knew about the extra `Context` we have to pass around. It would help clean up all this manual list and map joining which we're now forced to do. Hopefully we can explore that soon.