### Apache Airflow version

main (development)

### What happened

On the Task Instances table, one can click on `Edit Record` and be directed to a `Edit Task Instance` page. There, if you try to change the state, it will simply not update nor are there any errors in the browser console.


<img width="608" alt="Screen Shot 2022-01-04 at 10 10 52 AM" src="https://user-images.githubusercontent.com/4600967/148101472-fb6076fc-3fc3-44c4-a022-6625d5112551.png">


### What you expected to happen

Changes to state should actually update the task instance.

### How to reproduce

Try to use the `Edit Task Instance` page

### Operating System

Mac OSx

### Versions of Apache Airflow Providers

_No response_

### Deployment

Virtualenv installation

### Deployment details

_No response_

### Anything else

This page is redundant, as a user can successfully edit task instance states from the table. Instead of wiring up the correct actions, I say we should just remove the `Edit Task Instance` page entirely.

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

"""A list of columns to show in the Add form.
        This dynamically calculates additional fields from providers and add
        them to the backing list. This calculation is done exactly once (by
        checking we're referencing the class-level variable instead of the
        instance-level), and only after we enter the request context (to skip
        superfuluous checks done by Flask-Appbuilder on startup).
        """
        if self._add_columns is type(self)._add_columns and has_request_context():
            self._add_columns = [*self._add_columns, *(k for k, _ in self._iter_extra_field_names())]
        return self._add_columns
    @property
    def edit_columns(self) -> list[str]:
        """A list of columns to show in the Edit form.
        This dynamically calculates additional fields from providers and add
        them to the backing list. This calculation is done exactly once (by
        checking we're referencing the class-level variable instead of the
        instance-level), and only after we enter the request context (to skip
        superfuluous checks done by Flask-Appbuilder on startup).
        """
        if self._edit_columns is type(self)._edit_columns and has_request_context():
            self._edit_columns = [*self._edit_columns, *(k for k, _ in self._iter_extra_field_names())]
        return self._edit_columns
    @action("muldelete", "Delete", "Are you sure you want to delete selected records?", single=False)
    @auth.has_access(
        [
            (permissions.ACTION_CAN_EDIT, permissions.RESOURCE_DAG),
        ]
    )
    def action_muldelete(self, items):