**Apache Airflow version**:
2.0.0dev

**Kubernetes version (if you are using kubernetes)** (use `kubectl version`):

**Environment**:
```
./breeze --python=3.8 --backend=postgres --db-reset restart
```

**What happened**:

Sensors in reschedule mode are not rescheduled by scheduler.

**What you expected to happen**:

Sensors in both poke and reschedule mode should work.

**How to reproduce it**:

```
from airflow import DAG
from airflow.sensors.base_sensor_operator import BaseSensorOperator
from airflow.utils.dates import days_ago

class DummySensor(BaseSensorOperator):
    def poke(self, context):
        return False

with DAG(
    "other_dag",
    start_date=days_ago(1),
    schedule_interval="*/5 * * * *",
    catchup=False
) as dag3:
    DummySensor(
        task_id='wait-task',
        poke_interval=60 * 5,
        mode='reschedule'
    )
```

Then:
```
root@053f6ca34e24: /opt/airflow# airflow dags unpause other_dag
Dag: other_dag, paused: False
root@053f6ca34e24: /opt/airflow# airflow scheduler
  ____________       _____________
 ____    |__( )_________  __/__  /________      __
____  /| |_  /__  ___/_  /_ __  /_  __ \_ | /| / /
___  ___ |  / _  /   _  __/ _  / / /_/ /_ |/ |/ /
 _/_/  |_/_/  /_/    /_/    /_/  \____/____/|__/
[2020-12-03 14:18:58,404] {scheduler_job.py:1247} INFO - Starting the scheduler
[2020-12-03 14:18:58,404] {scheduler_job.py:1252} INFO - Processing each file at most -1 times
[2020-12-03 14:18:58,571] {dag_processing.py:250} INFO - Launched DagFileProcessorManager with pid: 63835
[2020-12-03 14:18:58,576] {scheduler_job.py:1757} INFO - Resetting orphaned tasks for active dag runs
[2020-12-03 14:18:58,660] {settings.py:52} INFO - Configured default timezone Timezone('UTC')
[2020-12-03 14:18:58,916] {scheduler_job.py:944} INFO - 1 tasks up for execution:
	<TaskInstance: other_dag.wait-task 2020-12-03 14:10:00+00:00 [scheduled]>
[2020-12-03 14:18:58,920] {scheduler_job.py:973} INFO - Figuring out tasks to run in Pool(name=default_pool) with 128 open slots and 1 task instances ready to be queued
[2020-12-03 14:18:58,921] {scheduler_job.py:1001} INFO - DAG other_dag has 0/16 running and queued tasks
[2020-12-03 14:18:58,921] {scheduler_job.py:1066} INFO - Setting the following tasks to queued state:
	<TaskInstance: other_dag.wait-task 2020-12-03 14:10:00+00:00 [scheduled]>
[2020-12-03 14:18:58,925] {scheduler_job.py:1108} INFO - Sending TaskInstanceKey(dag_id='other_dag', task_id='wait-task', execution_date=datetime.datetime(2020, 12, 3, 14, 10, tzinfo=Timezone('UTC')), try_number=1) to executor with priority 1 and queue default
[2020-12-03 14:18:58,926] {base_executor.py:79} INFO - Adding to queue: ['airflow', 'tasks', 'run', 'other_dag', 'wait-task', '2020-12-03T14:10:00+00:00', '--local', '--pool', 'default_pool', '--subdir', '/files/dags/the_old_issue.py']
[2020-12-03 14:18:58,935] {local_executor.py:80} INFO - QueuedLocalWorker running ['airflow', 'tasks', 'run', 'other_dag', 'wait-task', '2020-12-03T14:10:00+00:00', '--local', '--pool', 'default_pool', '--subdir', '/files/dags/the_old_issue.py']
[2020-12-03 14:18:59,063] {dagbag.py:440} INFO - Filling up the DagBag from /files/dags/the_old_issue.py
Running <TaskInstance: other_dag.wait-task 2020-12-03T14:10:00+00:00 [queued]> on host 053f6ca34e24
[2020-12-03 14:19:00,022] {scheduler_job.py:944} INFO - 1 tasks up for execution:
	<TaskInstance: other_dag.wait-task 2020-12-03 14:10:00+00:00 [scheduled]>
[2020-12-03 14:19:00,029] {scheduler_job.py:973} INFO - Figuring out tasks to run in Pool(name=default_pool) with 128 open slots and 1 task instances ready to be queued
[2020-12-03 14:19:00,029] {scheduler_job.py:1001} INFO - DAG other_dag has 0/16 running and queued tasks
[2020-12-03 14:19:00,029] {scheduler_job.py:1066} INFO - Setting the following tasks to queued state:
	<TaskInstance: other_dag.wait-task 2020-12-03 14:10:00+00:00 [scheduled]>
[2020-12-03 14:19:00,033] {scheduler_job.py:1108} INFO - Sending TaskInstanceKey(dag_id='other_dag', task_id='wait-task', execution_date=datetime.datetime(2020, 12, 3, 14, 10, tzinfo=Timezone('UTC')), try_number=1) to executor with priority 1 and queue default
[2020-12-03 14:19:00,033] {base_executor.py:82} ERROR - could not queue task TaskInstanceKey(dag_id='other_dag', task_id='wait-task', execution_date=datetime.datetime(2020, 12, 3, 14, 10, tzinfo=Timezone('UTC')), try_number=1)
[2020-12-03 14:19:00,038] {scheduler_job.py:1199} INFO - Executor reports execution of other_dag.wait-task execution_date=2020-12-03 14:10:00+00:00 exited with status success for try_number 1
[2020-12-03 14:19:00,045] {scheduler_job.py:1235} ERROR - Executor reports task instance <TaskInstance: other_dag.wait-task 2020-12-03 14:10:00+00:00 [queued]> finished (success) although the task says its queued. (Info: None) Was the task killed externally?
[2020-12-03 14:19:01,173] {dagrun.py:429} ERROR - Marking run <DagRun other_dag @ 2020-12-03 14:10:00+00:00: scheduled__2020-12-03T14:10:00+00:00, externally triggered: False> failed
```


**Anything else we need to know**:

Discovered when working on #10790 

Thank @nathadfield for helping discover this issue!

airflow/models/baseoperator.py
sequentially and only if the previous instance has succeeded or has been skipped.
        The task instance for the start_date is allowed to run.
    :type depends_on_past: bool
    :param wait_for_downstream: when set to true, an instance of task
        X will wait for tasks immediately downstream of the previous instance
        of task X to finish successfully or be skipped before it runs. This is useful if the
        different instances of a task X alter the same asset, and this asset
        is used by tasks downstream of task X. Note that depends_on_past
        is forced to True wherever wait_for_downstream is used. Also note that
        only tasks *immediately* downstream of the previous task instance are waited
        for; the statuses of any tasks further downstream are ignored.
    :type wait_for_downstream: bool
    :param dag: a reference to the dag the task is attached to (if any)
    :type dag: airflow.models.DAG
    :param priority_weight: priority weight of this task against other task.
        This allows the executor to trigger higher priority tasks before
        others when things get backed up. Set priority_weight as a higher
        number for more important tasks.
    :type priority_weight: int
    :param weight_rule: weighting method used for the effective total
        priority weight of the task. Options are:
        ``{ downstream | upstream | absolute }`` default is ``downstream``
        When set to ``downstream`` the effective weight of the task is the
        aggregate sum of all downstream descendants. As a result, upstream
        tasks will have higher weight and will be scheduled more aggressively
        when using positive weight values. This is useful when you have
        multiple dag run instances and desire to have all upstream tasks to
        complete for all runs before each dag can continue processing
        downstream tasks. When set to ``upstream`` the effective weight is the
        aggregate sum of all upstream ancestors. This is the opposite where