### Body

Currently `start_date` is mandatory parameter.
For DAGs with `schedule=None` we can relax this requirement as no scheduling calculation needed so the `start_date` parameter isn't used.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
start_date = TEST_DATE
        delta = timedelta(days=1)
        dag = DAG("dummy-dag", schedule=delta)
        dag_dates = dag.date_range(start_date=start_date, num=3)
        assert dag_dates == [
            start_date,
            start_date + delta,
            start_date + 2 * delta,
        ]
    def test_dag_owner_links(self):