crypto: improve error messages

1) ThrowCryptoTypeErrors was not actually used for
   type-related errors. Removed it.
2) For AEAD modes, OpenSSL does not set any internal
   error information. Therefore, "TypeError:
   error:00000000:lib(0):func(0):reason(0)" would be
   the message. Use a default error message for these
   casses.