**Description**

Improve the AWS SQS Sensor as follows:
+ Add optional visibility_timeout parameter
+ Add a customisable / overrideable filter capability so we can filter/ignore irrelevant messages

[Not needed, see below conversation] 
--- Check the HTTP status code in AWS response and raise Exception if not 200 - best practice

**Use case / motivation**

I'd like to make the SQS sensor more flexible to enable the following use case:
+ A single queue can be used as a channel for messages from multiple event sources and or multiple targets
+ We need a way to filter and ignore messages not relevant to us, which other processes are looking for

**Are you willing to submit a PR?**

Yes, please assign to me

**Related Issues**

None
setup.py
When installing providers from sources we install all namespace packages found below airflow,
        including airflow and provider packages, otherwise defaults from setup.cfg control this.
        The kwargs in setup() call override those that are specified in setup.cfg.
        """
        if os.getenv(INSTALL_PROVIDERS_FROM_SOURCES) == 'true':
            setup_kwargs['packages'] = find_namespace_packages(include=['airflow*'])
    include_provider_namespace_packages_when_installing_from_sources()
    if os.getenv(INSTALL_PROVIDERS_FROM_SOURCES) == 'true':
        print("Installing providers from sources. Skip adding providers as dependencies")
    else:
        add_all_provider_packages()
    write_version()
    setup(
        distclass=AirflowDistribution,
        version=version,
        extras_require=EXTRAS_REQUIREMENTS,
        download_url=('https://archive.apache.org/dist/airflow/' + version),
        cmdclass={
            'extra_clean': CleanCommand,
            'compile_assets': CompileAssets,
            'list_extras': ListExtras,
            'install': Install,
            'develop': Develop,
        },
        test_suite='setup.airflow_test_suite',
        **setup_kwargs,
    )
if __name__ == "__main__":
    do_setup()