Follow #29960, `IsExternalURL` is not needed anymore. Add some tests for `RedirectToCurrentSite`
"Redirect" functions should only redirect if the target is for current Gitea site.
Follow #23290 Network error won't make content lost. And this is a much better approach than "loading-button". The UI is not perfect and there are still some TODOs, they can be done in following PRs, not a must in this PR's scope. <details> ![image](https://github.com/go-gitea/gitea/assets/2114189/c94ba958-aa46-4747-8ddf-6584deeed25c) </details>