rely on 304 for caching, optionally compile javascript

Another example implementation of cache behavior described in #6576

This does two things:

1. set no-cache header in StaticFileHandlers, relying on 304 Not Modified for caching content.
2. compile javascript with `r.js`, which is not required, but used if present and newer than main
   (note it doesn't compare itself to *other* files in the directory, so maybe we want to reconsider
    the selection logic), reducing the number of requests per page load.

The second change mitigates the increased page-load latency caused by the first. I will do some more profiling to quantify the impact.

The minified results are not tracked.

There are still decisions to make about minification:

1. should each minified js include all of the components, or not?
2. should it be minified, or simply concatenated?