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)
Drop indirect dependencies.

* Drop ecdsa, certifi, wsgiref, zope, websocket.client, backports.
* pip freeze at the end of travis build.
Refactor network_util; use it in DHT.

* Use tornado.netutil to check for valid IPs.
* Abstract protocol in get_peer_url.
* Prefer importing modules than names.
* Other style fixes.
Refactor code in connection.py.

* Drop unused peer_alive attribute.
* Drop unused responses_received attribute.
* Make failure cases stand out in PeerConnection.send_raw.
* Make failure cases stand out in CryptoPeerConnection.start_handshake.
* Straighten CryptoPeerConnection.encrypt.
* Refactor CryptoPeerConnection.send.
  * Make failure cases stand out.
  * Guard against encrypt returning False.
* Drop PeerListener.stop.
  * Do not destroy global context arbitrarily.
  * Turn TransportLayer.shutdown into abstract method.
* Straighten PeerListener.listen.
* Remove unused import.