### Body

The CLI:

`airflow variables set [-h] [-j] [-v] key VALUE`

https://airflow.apache.org/docs/apache-airflow/stable/cli-and-env-variables-ref.html#set_repeat1

Doesn't support adding description though column exists and we support it from Rest API:
https://airflow.apache.org/docs/apache-airflow/stable/stable-rest-api-ref.html#operation/post_variables

**The Task:**

Allow to set description from cli command

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
@classmethod
    def setup_class(cls):
        cls.dagbag = models.DagBag(include_examples=True)
        cls.parser = cli_parser.get_parser()
    def setup_method(self):
        clear_db_variables()
    def teardown_method(self):
        clear_db_variables()
    def test_variables_set(self):
        """Test variable_set command"""
        variable_command.variables_set(self.parser.parse_args(["variables", "set", "foo", "bar"]))
        assert Variable.get("foo") is not None
        with pytest.raises(KeyError):
            Variable.get("foo1")
    def test_variables_get(self):
        Variable.set("foo", {"foo": "bar"}, serialize_json=True)
        with redirect_stdout(StringIO()) as stdout:
            variable_command.variables_get(self.parser.parse_args(["variables", "get", "foo"]))
            assert '{\n  "foo": "bar"\n}\n' == stdout.getvalue()
    def test_get_variable_default_value(self):
        with redirect_stdout(StringIO()) as stdout:
            variable_command.variables_get(
                self.parser.parse_args(["variables", "get", "baz", "--default", "bar"])
            )
            assert "bar\n" == stdout.getvalue()
    def test_get_variable_missing_variable(self):