Incremental digest computation for large bodies.
This wraps :crypto.hash_init/1, :crypto.hash_update/2, and
:crypto.hash_final/1 while preserving the same algorithm policy as the
one-shot HTTPDigest.content_digest/2 API.
{:ok, stream} = HTTPDigest.Stream.init(algorithms: [:sha256])
stream = HTTPDigest.Stream.update(stream, chunk1)
stream = HTTPDigest.Stream.update(stream, chunk2)
{:ok, header_value} = HTTPDigest.Stream.content_digest(stream)