Hey, first thanks for this amazing project!

I was trying to use serverless and localstack together, and I was having problems deploying a lambda function. In the logs I was getting errors 502 all the time:

```Serverless: Recoverable error occurred (502), sleeping for 5 seconds. Try 4 of 4

  Serverless Error ---------------------------------------

  502
```

I then start tracking the error, since this one above didn't give me much information, and I ended up at Serverless calling cloud formation's `describe-stack-events` using the unique stack id, instead of the stack name:

https://github.com/serverless/serverless/blob/f93b27bf684d9a14b1e67ec554a7719ca3628135/lib/plugins/aws/lib/monitorStack.js#L33

That is a legit request, as seen in the aws docs:

https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-events.html#options

The cloudformation mock within localstack accepts the stackName without problems:

```
> aws --endpoint-url=http://localhost:4581 cloudformation list-stacks    
{
    "StackSummaries": [
        {
            "StackId": "arn:aws:cloudformation:us-east-1:000000000000:stack/steamRoller-local/fcbeb0ef-9739-44a2-8a37-f599bbf4e5f3",
            "StackName": "steamRoller-local",
            "CreationTime": "2011-05-23T15:47:44Z",
            "StackStatus": "UPDATE_COMPLETE",
            "TemplateDescription": "The AWS CloudFormation template for this Serverless application"
        }
    ]
}

> aws --endpoint-url=http://localhost:4581 cloudformation describe-stack-events --stack-name steamRoller-local
{
    "StackEvents": [
        {
            "StackId": "arn:aws:cloudformation:us-east-1:000000000000:stack/steamRoller-local/fcbeb0ef-9739-44a2-8a37-f599bbf4e5f3",
            "EventId": "a49fd67b-ce7b-4a33-9a00-6ebe2242adae",
            "ResourceStatus": "UPDATE_COMPLETE",
            "ResourceType": "AWS::CloudFormation::Stack",
            "Timestamp": "2019-08-10T13:44:44.550022Z",
            "StackName": "steamRoller-local",
            "PhysicalResourceId": "arn:aws:cloudformation:us-east-1:000000000000:stack/steamRoller-local/fcbeb0ef-9739-44a2-8a37-f599bbf4e5f3",
            "StackName": "steamRoller-local",
            "PhysicalResourceId": "arn:aws:cloudformation:us-east-1:000000000000:stack/steamRoller-local/fcbeb0ef-9739-44a2-8a37-f599bbf4e5f3",
            "LogicalResourceId": "steamRoller-local"
        },
        {
            "StackId": "arn:aws:cloudformation:us-east-1:000000000000:stack/steamRoller-local/fcbeb0ef-9739-44a2-8a37-f599bbf4e5f3",
            "EventId": "35ef5c91-99a0-483d-b6b7-e01ee3dda2dd",
            "ResourceStatus": "CREATE_IN_PROGRESS",
            "ResourceType": "AWS::CloudFormation::Stack",
            "Timestamp": "2019-08-10T13:37:51.124574Z",
            "ResourceStatusReason": "User Initiated",
            "StackName": "steamRoller-local",
            "PhysicalResourceId": "arn:aws:cloudformation:us-east-1:000000000000:stack/steamRoller-local/fcbeb0ef-9739-44a2-8a37-f599bbf4e5f3",
            "LogicalResourceId": "steamRoller-local"
        }
    ]
}
```

But it doesn't accept the stackId as the argument (the one used by serverless):

```
> aws --endpoint-url=http://localhost:4581 cloudformation describe-stack-events --stack-name arn:aws:cloudformation:us-east-1:000000000000:stack/steamRoller-local/fcbeb0ef-9739-44a2-8a37-f599bbf4e5f3

An error occurred (502) when calling the DescribeStackEvents operation (reached max retries: 4): Bad Gateway
```

If I have a look at the docker logs I can see:

```
"invalid XML received:\n%s" % (e, xml_string)) botocore.parsers.ResponseParserError: Unable to parse response (syntax error: line 1, column 54), invalid XML received:

b'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">\n<title>500 Internal Server Error</title>\n<h1>Internal Server Error</h1>\n<p>The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.</p>\n'
```

That matches what other colleagues were seeing: https://github.com/localstack/localstack/issues/965

Please, make localstack's cloudformation handle the stackId in describe-stack-events and other actions that accepts it. This is a blocker for using localstack for me :/

Thanks
@app.route('%s/functions/<function>/versions' % PATH_ROOT, methods=['GET'])
def list_versions(function):
    arn = func_arn(function)
    if arn not in arn_to_lambda:
        return not_found_error(arn)
    return jsonify({'Versions': do_list_versions(arn)})
@app.route('%s/functions/<function>/aliases' % PATH_ROOT, methods=['POST'])
def create_alias(function):
    arn = func_arn(function)
    if arn not in arn_to_lambda:
        return not_found_error(arn)
    data = json.loads(request.data)
    alias = data.get('Name')
    if alias in arn_to_lambda.get(arn).aliases:
        return error_response('Alias already exists: %s' % arn + ':' + alias, 404,
                              error_type='ResourceConflictException')
    version = data.get('FunctionVersion')
    description = data.get('Description')
    return jsonify(do_update_alias(arn, alias, version, description))
@app.route('%s/functions/<function>/aliases/<name>' % PATH_ROOT, methods=['PUT'])
def update_alias(function, name):
    arn = func_arn(function)
    if arn not in arn_to_lambda:
        return not_found_error(arn)
    if name not in arn_to_lambda.get(arn).aliases:
        return not_found_error(msg='Alias not found: %s:%s' % (arn, name))
    current_alias = arn_to_lambda.get(arn).aliases.get(name)
    data = json.loads(request.data)
    version = data.get('FunctionVersion') or current_alias.get('FunctionVersion')
    description = data.get('Description') or current_alias.get('Description')