Simplify the version bump process. ### Description

Simplify the version bump process.

- Use substitution hook in docs to update CDN URL.
  - In `dev` or `prerelease` versions, it will point to `dev` url
  - In `stable` versions, it will point it `vX.Y.Z` url
- Introduce a version bump script `tools/bump_version.py`.


~- Use `bump2version` to bump Python versions (continuing from #2460)~
~- Use `npm version` to bump JS versions~
~- Update `run_docker` script to use latest deployed pre-built docker image when `--pre-built` option is specified.~

### Checklists

- [x] Add new / update outdated documentation

---
name: Code improvement
about: Suggest a code improvement, i.e. refactoring, deprecation, etc.
title: ""
labels:
assignees: ""
---

## Proposed refactoring or deprecation

<!-- A clear and concise description of the code improvement -->

### Motivation

<!-- Please outline the motivation for the proposal. If this is related to another GitHub issue, please link here too -->

### Pitch

<!-- A clear and concise description of what you want to happen. -->

### Additional context

<!-- Add any other context or screenshots here. -->

---
name: Code improvement
about: Suggest a code improvement, i.e. refactoring, deprecation, etc.
title: ""
labels:
assignees: ""
---

## Proposed refactoring or deprecation

<!-- A clear and concise description of the code improvement -->

### Motivation

<!-- Please outline the motivation for the proposal. If this is related to another GitHub issue, please link here too -->

### Pitch

<!-- A clear and concise description of what you want to happen. -->

### Additional context

<!-- Add any other context or screenshots here. -->
