CryptoMode initial design. Added Digestible class.
Using CryptoMode instead of Direction in Raaz.Primitives.Cipher
Using EncryptMode and DecryptMode in raaz-cipher
Fixed raaz-cipher tests
Fixed raaz-cipher benchmarks
Added Encrypt instances for salsa and AES
Fixed warning in Salsa20.Instances
Got rid of HasInverse in raaz-primitives
Added CryptoSerialize
Now using CryptoSerialize for parsing from ByteString.
Removed HasInverse and Initializable instances from raaz-cipher
Fixed raaz-cipher tests
Fixed raaz-cipher benchmarks
Fixed raaz-random
Added Diestible constraint to Hash class
Added Digestible instances for hashes
verifyCxt takes `Digest (prim AuthMode)` instead of `prim VerifyMode`.
Fixed documentaion in CryptoMode
renamed digestCxt to toDigest
Merge added cryptographic modes of operation

- Support for Encrypt, Decrypt, Verify, Auth, and AuthEnc and
  VerifyDecrypt operations.