Replace expose/show/conceal-port hooks with Endpoints

As part of the ongoing effort to implement the new cartridge API, remove the
expose-port, show-port, and conceal-port hooks from the cartridges, and
move their functionality up into the platform via the node library.

Proxy ports are now defined by cart authors via an Endpoints element in the
cartridge manifest YAML, and the platform functionality is implemented
internally within the node library as opposed to being handled ad-hoc in
cartridge hooks.

The show-port and conceal-port hooks are now no-op stubs in the agent
and broker proxy.
Partial fix for Bug 895878

 * oo-restorer beefed up to do a restore if gear is in any state of "idleness"
Merge pull request #1163 from ironcladlou/endpoint-refactor

Replace expose/show/conceal-port hooks with Endpoints
SSL support for custom domains.

Add oo-ssl-cert-{add/remove}

Minor fixup.

Add ssl cert and private key verification.

Create/remove vhost entry when cert is added/removed.

Cleanup.

Remove alias specific conf in remove_alias.

Minor fixes.

Changes to get SNI working with current vhost configs.

Fix alias remove test.

Add missing options to help.

BZ 896405: Check if alias exists before adding ssl cert.

BZ 896371: Validate private key is unencrypted.

BZ 896386: Fix for origin URL redirecting after removing SSL.
Merge pull request #1164 from jwhonce/dev/bz895878

Merged by openshift-bot
Merge pull request #1166 from mrunalp/dev/sni_support

Merged by openshift-bot
Adding support for broker to mongodb connections over SSL