We already have a somewhat-featureful static content servlet for
serving data from /static; use it for the GWT UI as well. Java's zip
filesystem support makes the war case easy; we don't have to do the
extract-to-a-directory hack that makes it work with Jetty. The
developer case is also pretty easy, though we have to move the
filter to recompile the GWT UI into the httpd package.
One other wrinkle is that the GWT build process puts bogus timestamps
on the GWT compiler output, so we need to pretend the timestamps on
all the files are the startup time of the server. This means clients
will have to re-download large identical JS assets after a server
restart even if the assets didn't change. Gerrit has mostly pretty
good uptime so this is not a huge deal.
Change-Id: I0a7ade3cadf3a4a4e1726b56b87b0cbe4c6e0c93