put analysis caching behind `:cache-analysis` compiler flag, add
`last-modified` helper that can handle Files & URLs. Improve
`requires-analysis?` by using new helpers & providing parameter
defaults to simplify testing.