### 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_
if not os.path.exists(INSTALL_PATH_KINESALITE_CLI):
        log_install_msg("Kinesis")
        run('cd "%s" && npm install' % MODULE_MAIN_PATH)
def install_kinesis_mock():
    target_dir = INSTALL_PATH_KINESIS_MOCK
    machine = platform.machine().lower()
    system = platform.system().lower()
    version = platform.version().lower()
    is_probably_m1 = system == "darwin" and ("arm64" in version or "arm32" in version)
    LOG.debug("getting kinesis-mock for %s %s", system, machine)
    if (machine == "x86_64" or machine == "amd64") and not is_probably_m1:
        if system == "windows":
            bin_file = "kinesis-mock-mostly-static.exe"
        elif system == "linux":
            bin_file = "kinesis-mock-linux-amd64-static"
        elif system == "darwin":
            bin_file = "kinesis-mock-macos-amd64-dynamic"
        else:
            bin_file = "kinesis-mock.jar"
    else:
        bin_file = "kinesis-mock.jar"
    bin_file_path = os.path.join(target_dir, bin_file)
    if os.path.exists(bin_file_path):
        LOG.debug("kinesis-mock found at %s", bin_file_path)
        return bin_file_path
    response = requests.get(KINESIS_MOCK_RELEASE_URL)