**Apache Airflow version**: 1.10.*
**BackPort Packages version**: 2020.10.5rc1

**What happened**:

`BigQueryInsertJobOperator` tries to start a BigQuery job by specifying a job_id which is a combination of `dag_id`, `task_id`, `execution_date` and an additional `uniqueness_suffix`.

https://github.com/apache/airflow/blob/master/airflow/providers/google/cloud/operators/bigquery.py#L2072

However, because BigQuery only accepts alphanumeric (in additon to dashes and underscore) characters then, if a DagID contains a version number whcih includes a `.` character then this will cause the task to fail.

https://cloud.google.com/bigquery/docs/running-jobs#generate-jobid

**How to reproduce it**:
Create a DAG with the name `my-dag-v1.0`.
airflow/providers/google/cloud/operators/bigquery.py
"""
    Executes BigQuery SQL queries in a specific BigQuery database.
    This operator does not assert idempotency.
    :param sql: the sql code to be executed (templated)
    :type sql: Can receive a str representing a sql statement,
        a list of str (sql statements), or reference to a template file.
        Template reference are recognized by str ending in '.sql'.
    :param destination_dataset_table: A dotted
        ``(<project>.|<project>:)<dataset>.<table>`` that, if set, will store the results
        of the query. (templated)
    :type destination_dataset_table: str
    :param write_disposition: Specifies the action that occurs if the destination table
        already exists. (default: 'WRITE_EMPTY')
    :type write_disposition: str
    :param create_disposition: Specifies whether the job is allowed to create new tables.
        (default: 'CREATE_IF_NEEDED')
    :type create_disposition: str
    :param allow_large_results: Whether to allow large results.
    :type allow_large_results: bool