<!-- 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'])

...

state = CloudFormationRegion.get()
    stack_name = req_params.get('StackName')
    stack_list = list(state.stacks.values())
    stacks = [s.describe_details() for s in stack_list if stack_name in [None, s.stack_name, s.stack_id]]
    if stack_name and not stacks:
        return error_response('Stack with id %s does not exist' % stack_name,
            code=400, code_string='ValidationError')
    result = {'Stacks': {'member': stacks}}
    return result
def list_stacks(req_params):
    state = CloudFormationRegion.get()
    filter = req_params.get('StackStatusFilter')
    stack_list = list(state.stacks.values())
    stacks = [s.describe_details() for s in stack_list if filter in [None, s.status]]
    attrs = ['StackId', 'StackName', 'TemplateDescription', 'CreationTime', 'LastUpdatedTime', 'DeletionTime',
        'StackStatus', 'StackStatusReason', 'ParentId', 'RootId', 'DriftInformation']
    stacks = [select_attributes(stack, attrs) for stack in stacks]
    result = {'StackSummaries': {'member': stacks}}
    return result
def describe_stack_resource(req_params):
    stack_name = req_params.get('StackName')
    resource_id = req_params.get('LogicalResourceId')
    stack = find_stack(stack_name)
    if not stack:
        return stack_not_found_error(stack_name)
    details = stack.resource_status(resource_id)
    result = {'StackResourceDetail': details}
    return result
def describe_stack_resources(req_params):