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 test and benchmark files in raaz-cipher.cabal
Merge Salsa20 cipher added.

- Some changes in the Cipher interface
- Salsa cipher added.