When trying to deploy a serverless service that does not currently deploy correctly onto localstack using a custom deployment bucket, the lambdas seems to be created regardless (???) but not as part of the stack, with localstack outputting `botocore.errorfactory.ResourceConflictException: An error occurred (ResourceConflictException) when calling the CreateFunction operation: Function already exist` .

For example, the `serverless.yml` below would currently fail to deploy due to  #1676 , but because a `deploymentBucket` was added, it will instead fail due to `Function already exist`. Subsequently removing `deploymentBucket` or even `events` from the the file will not allow it to deploy - it will fail until localstack is restarted ( or until the lambda is manually deleted?).

I've also reproduced this with services suffering from #1675. 

```yaml
service: "localtest"

provider:
  name: "aws"
  runtime: "nodejs10.x"
  deploymentBucket:
    name: "testbucket"

functions:
  hello:
    handler: "handler.hello"
    events:
      - schedule: "cron(0 * * * ? *)"

plugins:
- "serverless-localstack"

custom:
  localstack:
    stages:
      - "local"
```
def fix_ids(obj, **kwargs):
        if isinstance(obj, dict):
            obj = dict(obj)
            for key, value in obj.items():
                if isinstance(value, BaseModel):
                    entity_id = get_entity_id(value)
                    obj[key] = entity_id or value
        return obj
    return recurse_object(resource_json, fix_ids)
def update_physical_resource_id(resource):
    phys_res_id = getattr(resource, 'physical_resource_id', None)
    if not phys_res_id:
        if isinstance(resource, lambda_models.LambdaFunction):
            func_arn = aws_stack.lambda_function_arn(resource.function_name)
            resource.function_arn = resource.physical_resource_id = func_arn
        elif isinstance(resource, sfn_models.StateMachine):
            sm_arn = aws_stack.state_machine_arn(resource.name)
            resource.physical_resource_id = sm_arn
        elif isinstance(resource, service_models.StepFunctionsActivity):
            act_arn = aws_stack.stepfunctions_activity_arn(resource.params.get('Name'))
            resource.physical_resource_id = act_arn
        else:
            LOG.warning('Unable to determine physical_resource_id for resource %s' % type(resource))
def apply_patches():
    """ Apply patches to make LocalStack seamlessly interact with the moto backend.
        TODO: Eventually, these patches should be contributed to the upstream repo! """
    
    def get_key(self, bucket_name, key_name, version_id=None):