internal/router: add fullySpecified parameter to IdHandler

We also change internal/v4 so that the Cache-Control header is only added when the id is fully specified.
I actually renamed it to setArchiveCacheControl deliberately in this PR because it's for content that's derived from the archive blob (the endpoints in content.go are also derived from that). It is more specific than it was in the previous version, hence the name change.