Added quadruple instance for Memory and fixed the Gadget instance in raaz-random
raaz-random fixups

- Added tests for genMax and genBetween
- Fixed bug in genMax and genBetween
- genMax now throws error for negative arguments instead of going in an infinite loop
Changed design of Cipher type

* Removed mode from cipher as stream ciphers have no associated mode.
* Now mode will be captured in the cipher name.
Fixed AES according to Cipher datatype change
Added tests for gadgets with HasInverse
encrypt . decrypt == id test added for ciphers
Salsa20 eStream cipher

* Implemented Salsa20/20, Salsa20/12, Salsa20/8 in pure haskell.
* Added ecrypt test vectors
* Moved AES tests to its own directory
Changed name from sizeOfBuffer to maxSizeOf in Bufferable
Benchmarks in raaz-ciper organized
Changed benchmark not to include finalization step as it is not required while benchmarking
Salsa20 CPortable added
Salsa20 CPortable tests added
Benchmarks added for Salsa20
Added cryptoBuffer which are CryptoPointer with the associated size
Added more info on benchmark size in raaz-cipher
Added extra tests and benchmark modules in other-modules for raaz-ciper
Added safe version of Parse and Write