Change the API of ShallowEtagHeaderFilter to avoid all copying

Change the signatures of the isEligibleForEtag generateETagHeaderValue and
methods to take an InputStream instead of a byte[]. This change allows
ShallowEtagHeaderFilter to avoid creating a byte[] completely,
eliminating all data copying.

Issue: SPR-12081