I'm trying to run an AWS_PROXY integration between APIGateway and Lambda, and I'm hitting what looks like a fundamental logic bug in the APIGateway implementation.

https://github.com/localstack/localstack/blob/master/localstack/services/apigateway/apigateway_listener.py#L101

```
 File "/opt/code/localstack/localstack/services/apigateway/apigateway_listener.py", line 101, in forward_request
    'resourceId': resource.get('id'),
UnboundLocalError: local variable 'resource' referenced before assignment
```

Scanning up the file, it looks like `resource` is only be initialized within a `catch` block.  I assume this is a simple oversight rather than a complex bug.

This looks like a bug I can fix, but I'd appreciate any guidance you can offer.
def test_api_gateway_lambda_proxy_integration_any_method(self):
        
        zip_file = testutil.create_lambda_archive(
            load_file(TEST_LAMBDA_PYTHON),
            get_content=True,
            libs=TEST_LAMBDA_LIBS,
            runtime=LAMBDA_RUNTIME_PYTHON27
        )
        testutil.create_lambda_function(
            func_name=self.TEST_LAMBDA_PROXY_BACKEND_ANY_METHOD,
            zip_file=zip_file,
            runtime=LAMBDA_RUNTIME_PYTHON27
        )
        
        lambda_uri = aws_stack.lambda_function_arn(self.TEST_LAMBDA_PROXY_BACKEND_ANY_METHOD)
        target_uri = aws_stack.apigateway_invocations_arn(lambda_uri)
        result = self.connect_api_gateway_to_http_with_lambda_proxy(
            'test_gateway3',
            target_uri,
            methods=['ANY'],
            path=self.API_PATH_LAMBDA_PROXY_BACKEND_ANY_METHOD
        )
        
        path = self.API_PATH_LAMBDA_PROXY_BACKEND_ANY_METHOD.replace('{test_param1}', 'foo1')
        url = INBOUND_GATEWAY_URL_PATTERN.format(
            api_id=result['id'],
            stage_name=self.TEST_STAGE_NAME,
            path=path
        )
        data = {}