Merge data kind fixup for many raaz primitive types

The DataKind and KindSignatures are *not* well supported for ghc-7.4.
This merge includes a workaround for 7.4. Obviously we prefer the kind
based interface that will be exposed starting from 7.6 onwards.
documentation fix for EndianStore
some more doc fixes
improved the documentation of the Raaz.Write module
added a tryWrite function
added doc for page size
improved docs of R.Write.Unsafe
removed trailing spaces in R.System.Parametes
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