Crypto refactor, thread-safety, ecdh, tests. fix #492

For now, calls to secp256k1lib have been replaced by cryptopp. Ironically, after a bit of research on performance, the takeaway is that rather than removing secp256k1lib, it maybe better to remove cryptopp in favor of openssl, keep secp256k1lib, and implement ECIES. 
Suggestion: Verifies that `_s` is a valid secret key and returns the corresponding public key in `o_p`.