### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

when kinesis-mock fails to start (for whatever reason, e.g. a segfault when running the docker image on qemu virtualization), we only get unhelpful error messages from the proxy trying to connect to the backend:

```
2021-07-22T13:30:22:INFO:bootstrap.py: Thread run method <function AdaptiveThreadPool.submit.<locals>._run at 0x7f1e00f299d0>(None) failed: MyHTTPConnectionPool(host='localhost', port=39045): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f1e00f544f0>: Failed to establish a new connection: [Errno 111] Connection refused')) Traceback (most recent call last):
  File "/home/thomas/workspace/localstack/localstack/.venv/lib/python3.8/site-packages/urllib3/connection.py", line 169, in _new_conn
    conn = connection.create_connection(
  File "/home/thomas/workspace/localstack/localstack/.venv/lib/python3.8/site-packages/urllib3/util/connection.py", line 96, in create_connection
    raise err
  File "/home/thomas/workspace/localstack/localstack/.venv/lib/python3.8/site-packages/urllib3/util/connection.py", line 86, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/thomas/workspace/localstack/localstack/.venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/home/thomas/workspace/localstack/localstack/.venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/home/thomas/workspace/localstack/localstack/.venv/lib/python3.8/site-packages/urllib3/connection.py", line 234, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
  File "/usr/lib/python3.8/http/client.py", line 1252, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1298, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1247, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1007, in _send_output
    self.send(msg)
  File "/usr/lib/python3.8/http/client.py", line 947, in send
    self.connect()
  File "/home/thomas/workspace/localstack/localstack/.venv/lib/python3.8/site-packages/urllib3/connection.py", line 200, in connect
    conn = self._new_conn()
  File "/home/thomas/workspace/localstack/localstack/.venv/lib/python3.8/site-packages/urllib3/connection.py", line 181, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f1e00f544f0>: Failed to establish a new connection: [Errno 111] Connection refused
```

### Expected Behavior

localstack should gracefully terminate the service proxy, and inform with a log message why kinesis failed to start.

### How are you starting LocalStack?

Custom (please describe below)

### Steps To Reproduce

reproduce by modifying `install_kinesis_mock` to load a bin_file that is not meant to be used for your system.

### Environment

_No response_

### Anything else?

_No response_
root_folder = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..", "..")
    reqs_file = os.path.join(root_folder, "requirements.txt")
    reqs_copy_file = os.path.join(root_folder, "localstack", "requirements.copy.txt")
    if not os.path.exists(reqs_copy_file):
        shutil.copy(reqs_file, reqs_copy_file)
    with open(reqs_copy_file) as f:
        requirements = f.read()
    install_requires = []
    for line in re.split("\n", requirements):
        if line and line[0] != "#":
            if BASIC_LIB_MARKER not in line and IGNORED_LIB_MARKER not in line:
                line = line.split(" #")[0].strip()
                install_requires.append(line)
    LOG.info(
        "Lazily installing missing pip dependencies, this could take a while: %s"
        % ", ".join(install_requires)
    )
    args = ["install"] + install_requires
    return run_pip_main(args)
def run_pip_main(args):
    if hasattr(pip_mod, "main"):
        return pip_mod.main(args)
    import pip._internal
    if hasattr(pip._internal, "main"):
        return pip._internal.main(args)
    import pip._internal.main
    return pip._internal.main.main(args)
@log_duration()
def load_plugin_from_path(file_path, scope=None):