If starting localstack with env variable KINESIS_ERROR_PROBABILITY set to 1.0 (or any other value greater than 0.0) causes the start up to fail: 
```
2018-02-19T12:52:52:ERROR:localstack.services.generic_proxy: Error forwarding request: 'Records' Traceback (most recent call last):
localstack_1  |   File "/opt/code/localstack/localstack/services/generic_proxy.py", line 181, in forward
localstack_1  |     path=path, data=data, headers=forward_headers)
localstack_1  |   File "/opt/code/localstack/localstack/services/kinesis/kinesis_listener.py", line 24, in forward_request
localstack_1  |     return kinesis_error_response(data)
localstack_1  |   File "/opt/code/localstack/localstack/services/kinesis/kinesis_listener.py", line 71, in kinesis_error_response
localstack_1  |     for record in data['Records']:
localstack_1  | KeyError: 'Records'
```

Have pulled down the latest master repo, updated the docker-compose.yml as well as testing the latest docker image. 

Looking at the code on the lines above it looks like start up is invoking the listener which applies the probability rule which causes it to fail
"""Handle each request in a separate thread."""
    daemon_threads = True
class ProxyListener(object):
    def forward_request(self, method, path, data, headers):
        """ This interceptor method is called by the proxy when receiving a new request
            (*before* forwarding the request to the backend service). It receives details
            of the incoming request, and returns either of the following results:
            * True if the request should be forwarded to the backend service as-is (default).
            * An integer (e.g., 200) status code to return directly to the client without
              calling the backend service.
            * An instance of requests.models.Response to return directly to the client without
              calling the backend service.
            * An instance of requests.models.Request which represents a new/modified request
              that will be forwarded to the backend service.
            * Any other value, in which case a 503 Bad Gateway is returned to the client
              without calling the backend service.
        """
        return True
    def return_response(self, method, path, data, headers, response):
        """ This interceptor method is called by the proxy when returning a response
            (*after* having forwarded the request and received a response from the backend
            service). It receives details of the incoming request as well as the response
            from the backend service, and returns either of the following results:
            * An instance of requests.models.Response to return to the client instead of the
              actual response returned from the backend service.
            * Any other value, in which case the response from the backend service is
              returned to the client.
        """
        return None
class GenericProxyHandler(BaseHTTPRequestHandler):