Add initial crypto stream context checking
Add cipher stream variables definitions
Export API function for getting cipher alg and mode
Export alg function for getting cipher mode from EVP_CIPHER
Fix setting of algorithm when only alg name supplied
Check parameters for cipher stream context
Add notice when tag or AAD is used in non-auth mode
Add macros for initializing errors and exceptions
Add empty error functions and change name for error info struct
Add macros for error and exception registration
Define CryptoException and tidy main crypto header
Add implementation for error functions
Figure exception code out from the error info position
Remove error code from other macros as well
Define Cipher error entries
Register HashException and its error info
Use new error API for Cipher and Hash exceptions
Use better names of alg error codes
Set correct errors (exceptions) for Cipher::__callStatic
Update TODO list