notaries is a list not a dictionary
Merge pull request #778 from yagoulas/get_notaries_bugfix

notaries is a list not a dictionary
Do not try to encrypt unless the public key of the recipient is present

* Let encrypt throw exceptions and handle them in its caller

* Add a docstring about the exceptions that can be thrown
Merge pull request #779 from yagoulas/encrypt_fixup

Do not try to encrypt unless the public key of the recipient is present
Abstract the Elliptic Curve used; setup initial testsuite.

* Introduce crypto_util.BTC_CURVE as the curve's name. Replace any
  magic strings in the codebase with crypto_util.BTC_CURVE.
* Invoke pyelliptic.OpenSSL to get curve ID
* Abstract the key length.
Abstract and test public and private key processing.

* pubkey_to_pyelliptic now returns key in bin format.
* Replace hexToPubkey with pubkey_to_pyelliptic.
Create and test a Cryptor class to abstract pyelliptic.

* Replace makePubCryptor, makePrivCryptor and ec.ECC with Cryptor.
* Provide the ECC key getters; do not keep the keys in Cryptor class.
* Purge pyelliptic imports outside crypto_util.
* Purge most references to _myself; replace the rest with cryptor.