Replace an expired cert with a new one to make tests happy
Slice syntax fix
Merge pull request #100 from gkoz/new_cert

Replace an expired cert with a new one to make tests happy
Hasher: static contract checking, context reuse

- Store EVP_MD_CTX in a separate struct.
- Add from_context() constructor that uses an existing context.
- Switch to EVP_Digest(Init|Final)_ex for efficient context reuse.
- Make update() borrow &mut self.
- Make finalize() consume self. Add finalize_reuse() that also returns the
context which can be passed to from_context() constructor for reuse.

These changes let the type system prevent illegal calls to update() and
finalize().