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"
```
if not should_be_created:
            
            return resource
        def find_id(resource):
            """ Find ID of the given resource. """
            if not resource:
                return
            for id_attr in ('Id', 'id', 'ResourceId', 'RestApiId', 'DeploymentId'):
                if id_attr in resource:
                    return resource[id_attr]
        
        if hasattr(resource, 'id') or (isinstance(resource, dict) and resource.get('id')):
            existing_id = resource.id if hasattr(resource, 'id') else resource['id']
            new_res_id = find_id(result)
            LOG.debug('Updating resource id: %s - %s, %s - %s' % (existing_id, new_res_id, resource, resource_json))
            if new_res_id:
                LOG.info('Updating resource ID from %s to %s (%s)' % (existing_id, new_res_id, region_name))
                update_resource_id(resource, new_res_id, props, region_name)
            else:
                LOG.warning('Unable to extract id for resource %s: %s' % (logical_id, result))
        
        update_physical_resource_id(resource)
        return resource
    def update_resource_name(resource, resource_json):
        """ Some resources require minor fixes in their CF resource definition
            before we can pass them on to deployment. """
        props = resource_json['Properties'] = resource_json.get('Properties') or {}
        if isinstance(resource, sfn_models.StateMachine) and not props.get('StateMachineName'):
            props['StateMachineName'] = resource.name
    def update_resource_id(resource, new_id, props, region_name):