Added HasName
Using HasName instead of Typeable in raaz-benchmarks
Fixed Gadget and Cipher tests to use HasName
Added instances for HasName in hashes
Fixed raaz-hash tests for HasName change
Added HasName instances in raaz-cipher
Specialized ptr utils
Fixed raaz-cipher tests
Fixed raaz-cipher benchmarks
Merge HasName class

The generic tests need to print the name of the primitive that it is
testing. We were using the Typeable instances for many
datatypes. Unfortunately this does not work well with DataKinds. So we
have a special class for this and any instance of Typeable has a
default definition of its member getName.