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.
Use new-style classes.
Fix docstrings.
Raise NotImplementedError if BackupTool.restore is invoked.
Avoid os.sep; use os.path.join for buliding paths.

* Also delegate separator handling to os.path.join.
Factor main function.
Catch only OSError.
Cosmetic fixes.
Use classmethods instead of staticmethods.

* Since the name of the class appears inside the method,
  is should be a classmethod, to ease possible future refactoring.
Simplify get_backups.

* Reverse list in-place.
Filter None objects from list.
Refactor get_backup.

* Print warning on bad backup path.
* Strip try..except to absolute minimum.
Ensure tarfile is always closed.
Print error on exception; return after callback.
Do not mess with sensitive magic methods.