**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
if end_date:
            self.end_date = timezone.convert_to_utc(end_date)
        if not TriggerRule.is_valid(trigger_rule):
            raise AirflowException(
                "The trigger_rule must be one of {all_triggers},"
                "'{d}.{t}'; received '{tr}'.".format(
                    all_triggers=TriggerRule.all_triggers(),
                    d=dag.dag_id if dag else "",
                    t=task_id,
                    tr=trigger_rule,
                )
            )
        self.trigger_rule = trigger_rule
        self.depends_on_past = depends_on_past
        self.wait_for_downstream = wait_for_downstream
        if wait_for_downstream:
            self.depends_on_past = True
        self.retries = retries
        self.queue = queue
        self.pool = Pool.DEFAULT_POOL_NAME if pool is None else pool
        self.pool_slots = pool_slots
        if self.pool_slots < 1:
            raise AirflowException(f"pool slots for {self.task_id} in dag {dag.dag_id} cannot be less than 1")
        self.sla = sla
        self.execution_timeout = execution_timeout
        self.on_execute_callback = on_execute_callback
        self.on_failure_callback = on_failure_callback
        self.on_success_callback = on_success_callback
        self.on_retry_callback = on_retry_callback
        if isinstance(retry_delay, timedelta):