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.
path = self.API_PATH_LAMBDA_PROXY_BACKEND.replace('{test_param1}', 'foo1')
        path = path + '?foo=foo&bar=bar&bar=baz'
        url = INBOUND_GATEWAY_URL_PATTERN.format(
            api_id=api_id,
            stage_name=self.TEST_STAGE_NAME,
            path=path
        )
        data = {'return_status_code': 203, 'return_headers': {'foo': 'bar123'}}
        result = requests.post(
            url,
            data=json.dumps(data),
            headers={'User-Agent': 'python-requests/testing'}
        )
        self.assertEqual(result.status_code, 203)
        self.assertEqual(result.headers.get('foo'), 'bar123')
        parsed_body = json.loads(to_str(result.content))
        self.assertEqual(parsed_body.get('return_status_code'), 203)
        self.assertDictEqual(parsed_body.get('return_headers'), {'foo': 'bar123'})
        self.assertDictEqual(parsed_body.get('pathParameters'), {'test_param1': 'foo1'})
        self.assertDictEqual(parsed_body.get('queryStringParameters'), {'foo': 'foo', 'bar': ['bar', 'baz']})
        request_context = parsed_body.get('requestContext')
        source_ip = request_context['identity'].pop('sourceIp')
        self.assertTrue(re.match(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$', source_ip))
        self.assertEqual(request_context['path'], '/lambda/foo1')
        self.assertEqual(request_context['accountId'], TEST_AWS_ACCOUNT_ID)
        self.assertEqual(request_context['resourceId'], resource.get('id'))
        self.assertEqual(request_context['stage'], self.TEST_STAGE_NAME)
        self.assertEqual(request_context['identity']['userAgent'], 'python-requests/testing')
        result = requests.delete(url, data=json.dumps(data))
        self.assertEqual(result.status_code, 404)