<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->

# Type of request: This is a ...

[ x ] bug report
[ ] feature request

# Detailed description

When I try to list stacks and filter the stack status, it lists all the stacks rather than filter them out.

I saw someone had this issue before and was meant to be fixed, but doesnt seem like its fixed:
- https://github.com/localstack/localstack/issues/2698

## Expected behavior

Stacks should be filtered


## Actual behavior

All stacks are returned

# Steps to reproduce

Run latest docker version of localstack.
Create new stack
Try to run something like:
aws --endpoint-url=http://localhost:4566 cloudformation list-stacks --stack-status-filter DELETE_FAILED

It will return all stacks when it should return an empty list

## Command used to start LocalStack
docker run --network host -d -e DEFAULT_REGION="eu-west-1" localstack/localstack:latest

## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)
aws --endpoint-url=http://localhost:4566 cloudformation list-stacks --stack-status-filter DELETE_FAILED

Using boto3, the same thing happens:
response = self.__cloudformation_client.list_stacks(StackStatusFilter=['CREATE_FAILED'])

...

result = self.metadata['Changes'] = self.metadata.get('Changes', [])
        return result
def create_stack(req_params):
    state = CloudFormationRegion.get()
    template_deployer.prepare_template_body(req_params)
    template = template_preparer.parse_template(req_params['TemplateBody'])
    stack_name = template['StackName'] = req_params.get('StackName')
    stack = Stack(req_params, template)
    
    existing = ([s for s in state.stacks.values() if s.stack_name == stack_name] or [None])[0]
    if existing:
        if 'DELETE' not in existing.status:
            return error_response('Stack named "%s" already exists with status "%s"' % (
                stack_name, existing.status), code=400, code_string='ValidationError')
        state.stacks.pop(existing.stack_id)
    state.stacks[stack.stack_id] = stack
    LOG.debug('Creating stack "%s" with %s resources ...' % (stack.stack_name, len(stack.template_resources)))
    deployer = template_deployer.TemplateDeployer(stack)
    try:
        deployer.deploy_stack()
    except Exception as e:
        stack.set_stack_status('CREATE_FAILED')
        msg = 'Unable to create stack "%s": %s' % (stack.stack_name, e)
        LOG.debug('%s %s' % (msg, traceback.format_exc()))
        return error_response(msg, code=400, code_string='ValidationError')
    result = {'StackId': stack.stack_id}
    return result
def create_stack_set(req_params):