Make proxy command generic and user-definable

When using Sahara with use_floating_ips=false, instances are accessed
through a proxy (both for SSH and HTTP connections). Currently Sahara
reaches them using a hard-coded proxy command. This patch makes this
command user-definable in the configuration file.

Changes:
- Move HTTP adapters logic out of Neutron-related code.
- Transform the neutron proxy command into a generic one:
    'ip netns exec qrouter-{router_id} nc {host} {port}'
- Use user-defined proxy command when proxy_command is set in conf;
  the hard-coded proxy command when use_floating_ips=false and
  use_namespaces=true; otherwise no proxy.
- Add tests for those three possibilities + misconfiguration.

Examples of use:
- proxy_command='ip netns exec ns_for_{network_id} nc {host} {port}'
- proxy_command='ssh proxy-machine-{tenant_id} nc {host} {port}'

Change-Id: Iac033659e97b1ad935bb7be84de9fc731f787f4b
Closes-Bug: #1386193
Merge "Make proxy command generic and user-definable"