**Description**

It would be nice if the weight_rule default value could be managed by a global config

suggested config:
```
# Weighting method used for the effective total priority weight of the task. 
# Options are: { downstream | upstream | absolute } default is
default_weight_rule = downstream
```
**Use case / motivation**

In some pipeline, you really need to have absolute weight, and then you have to add a line in each task definition which is annoying

tests/models/test_baseoperator.py
task1.supports_lineage = False
        with pytest.raises(ValueError):
            task1 | task3
        assert task2.supports_lineage is False
        task2 | task3
        assert len(task3.get_inlet_defs()) == 3
        task4 = BaseOperator(task_id="op4", dag=dag)
        task4 > [inlet, outlet, extra]
        assert task4.get_outlet_defs() == [inlet, outlet, extra]
    def test_warnings_are_properly_propagated(self):
        with pytest.warns(DeprecationWarning) as warnings:
            DeprecatedOperator(task_id="test")
            assert len(warnings) == 1
            warning = warnings[0]
            
            
            assert warning.filename == __file__
    def test_pre_execute_hook(self):
        hook = mock.MagicMock()
        op = BaseOperator(task_id="test_task", pre_execute=hook)
        op_copy = op.prepare_for_execution()
        op_copy.pre_execute({})
        assert hook.called
    def test_post_execute_hook(self):
        hook = mock.MagicMock()
        op = BaseOperator(task_id="test_task", post_execute=hook)
        op_copy = op.prepare_for_execution()
        op_copy.post_execute({})
        assert hook.called
    def test_task_naive_datetime(self):