Merge safe version of write and parse
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 more info on benchmark size in raaz-cipher
Added extra tests and benchmark modules in other-modules for raaz-ciper