## Bug description

Currently, decide endpoint takes 10+ seconds on kea.js.org.

This means that for first-time visitors autocapture nor session recording will be turned on for that long - losing valuable information.

When measuring this yesterday via shell ([slack thread](https://posthog.slack.com/archives/C0113360FFV/p1604951621008400)), the culprit was feature flags cohort checking. In this case, the cohort user was checked against was defined against the following action:

![Screenshot from 2020-11-10 11-41-32](https://user-images.githubusercontent.com/148820/98657215-49582e80-234a-11eb-9669-37d55e0d23bd.png)

Which currently looks through events of the data for that team.

## Expected behavior

Decide endpoint should use cached/materialized cohort ownership rather than calculating it on the fly.

## How to reproduce

1. Create an action with some selector
2. Create a cohort for has done action at any point
3. Create a feature flag using the cohort.
4. Measure /decide endpoint latency

## Environment

Cloud 

## Additional context

cc @EDsCODE who made it not time out by https://github.com/PostHog/posthog/pull/2299

#### *Thank you* for your bug report – we love squashing them!
posthog/celery.py
(60 * ACTION_EVENT_MAPPING_INTERVAL_MINUTES),
            calculate_event_action_mappings.s(),
            name="calculate event action mappings",
            expires=(60 * ACTION_EVENT_MAPPING_INTERVAL_MINUTES),
        )
@app.task(ignore_result=True)
def redis_heartbeat():
    get_client().set("POSTHOG_HEARTBEAT", int(time.time()))
@app.task(ignore_result=True)
def clickhouse_lag():
    if check_ee_enabled() and settings.EE_AVAILABLE:
        from ee.clickhouse.client import sync_execute
        QUERY = """select max(_timestamp) observed_ts, now() now_ts, now() - max(_timestamp) as lag from events;"""
        lag = sync_execute(QUERY)[0][2]
        g = statsd.Gauge("%s_posthog_celery" % (settings.STATSD_PREFIX,))
        g.send("clickhouse_events_table_lag_seconds", lag)
    else:
        pass
@app.task(ignore_result=True)
def clickhouse_events_count():
    if check_ee_enabled() and settings.EE_AVAILABLE:
        from ee.clickhouse.client import sync_execute
        QUERY = """select count(1) freq from events;"""
        rows = sync_execute(QUERY)[0][0]
        g = statsd.Gauge("%s_posthog_celery" % (settings.STATSD_PREFIX,))
        g.send("clickhouse_events_table_row_count", rows)
    else:
        pass
@app.task(ignore_result=True)
def redis_celery_queue_depth():