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. 
Why not put these definitions in their proper namespace rather than importing all declarations?
And if it stays like this, the `aes::` below can be removed.