Issue:
`custom_headers` is available as an optional keyword argument in `build_mime_message` but it is not exposed in `send_email` or `send_email_smtp`. This prevents using custom headers with the email operator when using the default smtp backend. 

https://github.com/apache/airflow/blob/8e2a0bc2e39aeaf15b409bbfa8ac0c85aa873815/airflow/utils/email.py#L105-L116

Expected:
`send_email` should take optional key word argument `custom_headers` and pass it to `send_email_smtp` if that is the selected backend. 




tests/utils/test_email.py
res = utils.email.send_email('to', 'subject', 'content')
        mock_send_email.assert_called_once_with('to', 'subject', 'content')
        assert mock_send_email.return_value == res
    @mock.patch('airflow.utils.email.send_email_smtp')
    def test_custom_backend(self, mock_send_email):
        with conf_vars({('email', 'email_backend'): 'tests.utils.test_email.send_email_test'}):
            utils.email.send_email('to', 'subject', 'content')
        send_email_test.assert_called_once_with(
            'to',
            'subject',
            'content',
            files=None,
            dryrun=False,
            cc=None,
            bcc=None,
            mime_charset='utf-8',
            mime_subtype='mixed',
            conn_id='smtp_default',
            from_email=None,
        )
        assert not mock_send_email.called
    @mock.patch('airflow.utils.email.send_email_smtp')
    @conf_vars(
        {
            ('email', 'email_backend'): 'tests.utils.test_email.send_email_test',
            ('email', 'from_email'): 'from@test.com',
        }
    )
    def test_custom_backend_sender(self, mock_send_email_smtp):