std: Constify the bytes sent to Sha1::input

The Sha1 API takes the data to be hashed as &[u8]. This patch changes the type to &[const u8]. I'm not well-versed in the const semantics of Rust, but I imagine this is a reasonable thing to do, and this change makes the API compatible with to_bytes::IterBytes, which yields &[const u8] chunks of data.

(By the way, is there a reason for the double parentheses around the function argument lists in the Sha1 trait?)