Dethread and Context Instance

Get current zmq Context instance instead of new context.

Dethread the add peer method
Refactor connection object

Move socket and stream connection to initializer.
Dethread methods

Close socket method call

We need to close up the socket and stream when removing the active peer.
Removed check_port method
Purge create_zmq_socket unused method
Remove DarkMarket sample photos
Merge pull request #769 from hoffmabc/experimental-zmq-fixes

ZeroMQ refactor of socket creation
Preliminary fixes and grooming.

* Drop duplicate `-bmX` flags.
* Fix bad initialization of http_ip and http_port.
* Add missing default DEV_NODES.
* Delete unused default NODES.
* Add module docstring and parser desription.
* Do not parrot commands to output.
* Align most names of parser arguments, dict keys and ctx attributes.
* Have parser check commands.
* Drop `status` command.
* Fix bad combination of `with` and `try`.
* Tidy imports.
Group switches by type.

* Derive key from argument automatically.
Remove execute flag from non-executable files.
Do not re-inject defaults. Align rest of settings.

* The Namespace object that the parser returns has all
  fields initialized to the defaults or the user-provided
  values. No need to re-check.
* Align all remaining arguments, keys and attributes.
Remove outdated Windows script.
Bootstrapping new Launcher Unit Test.
Pass ob_ctx.disable_sqlite_crypt to setup_db()
Align key case with argument case.
Various minor fixes.

* Fix typo in function name.
* Make the default for http_port be 0 for ease of use.
* Ensure the server ip really is public if STUN is disabled.
* The parser automatically informs the user if a bad command was issued.
* Some style fixes.
Merge pull request #794 from Renelvon/launcher_tidy

Fix and refactor launcher (part 1)