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. 
The comment suggests that this sign function returns a different thing than the sign function above.