fix raspberry pi arch ZMQError: Address family not supported by protocol
Merge pull request #596 from y12studio/raspberry-pi-arch-fix

fix raspberry pi arch ZMQError: Address family not supported by protocol
Move and refactor transport tests.

* Move transport tests to test folder.
* Refactor tests in unittest format; use mocks.
* Improve code style.
Drop run_tests.sh.

* Unit tests should be run by calling `nosetests` on the project home
  directory.
Improve contact tests.

* Factor guid and uri in setUpClass.
* Test __repr__ is implemented and __str__ derived.
Merge pull request #594 from Renelvon/more_tests

Unit test node/transport.py and expand tests of node/contact.py.
Initial cleanup.

* Drop unused code.
* Fix import style.
* Abstract the Elliptic Curve used.
* Suggest to replace any occurences of 'secp256k1' in rest of codebase
  with crypto_util.BTC_CURVE
Use BTC_CURVE in test/test_ec.py.
Use BTC_CURVE in node/transport.py
Refactor pubkey_to_pyelliptic.

* Tag key variables with number base.
* Avoid destructive updates, so that code flow is super-clear.
* DRY key processing.
* As principle, never output keys to stdout, unless necessary.
Factor pubkey processing.
DRY pubkey processing.
Refactor makePubCryptor, hexToPubkey, makePrivCryptor.

* Tag key variables with number base.
* Avoid destructive updates, so that code flow is super-clear.
* DRY key processing.
* Added "FILLME"; please fill :)
Abstract EC parametres.
Refactor pubkey_to_pyelliptic (part 2)

* Drop _pubkey256ToPubkeyHex.
* Drop unnecessary base changes.
* Factor hexToPubkey code.
Drop hexToPubkey. Use pubkey_to_pyelliptic.

* Convert resulting pyelliptic pubkey from hex to binary when used.