Checking error codes and cleaning up when errors occur in EvpKeyAgreement
- Added a test to actually exercise the DH agreement path
//FREEBIE