Unvendor pydoc_data and _pydecimal. ### Description

Removes / unvendors some python modules:

- Remove `_aix_support.py`, which is for supporting IBM AIX OS.

- Unvendor `_pydecimal.py`.
  - _pydecimal is a pure Python implementation of `decimal` module. [Importing `decimal` fallbacks](https://github.com/python/cpython/blob/main/Lib/decimal.py) to `_pydecimal` if the C-implementation `_decimal` is not available. In our case, _decimal is available, so _pydecimal will not be normally used. 

- Unvendor `pydoc_data`.
  - pydoc_data contains [a large (~700KB) dictionary](https://github.com/python/cpython/blob/main/Lib/pydoc_data/topics.py) for explaining python builtins. This is mostly used when `help("...")` is called.

### Checklists

- [x] Add a [CHANGELOG](https://github.com/pyodide/pyodide/blob/main/docs/project/changelog.md) entry
- [x] Add / update tests
- [x] Add new / update outdated documentation

import argparse
import http.server
import os
import pathlib
import socketserver
import sys


class Handler(http.server.SimpleHTTPRequestHandler):
    def end_headers(self) -> None:
        self.send_header("Access-Control-Allow-Origin", "*")
        super().end_headers()


Handler.extensions_map[".wasm"] = "application/wasm"


def make_parser(parser: argparse.ArgumentParser) -> argparse.ArgumentParser:
    parser.description = "Start a server with the supplied dist-dir and port."
    parser.add_argument(
        "--dist-dir",
        action="store",
        type=str,
        default="dist",
        help="set the dist directory (default: %(default)s)",
    )
    parser.add_argument(
        "--port",
        action="store",
        type=int,
        default=8000,
        help="set the PORT number (default: %(default)s)",
    )
    return parser


def server(port: int) -> socketserver.TCPServer:
    httpd = socketserver.TCPServer(("", port), Handler)
    return httpd


def main(args: argparse.Namespace) -> None:
    build_dir = pathlib.Path(args.build_dir).resolve()
    port = args.port
    httpd = server(port)
    os.chdir(build_dir)
    print(f"serving from {build_dir} at localhost:{port}")
    try:
        httpd.serve_forever()
    except KeyboardInterrupt:
        print("\n...shutting down http server")
        httpd.shutdown()
        sys.exit()


if __name__ == "__main__":
    parser = make_parser(argparse.ArgumentParser())
    args = parser.parse_args()
    main(args)

import argparse
import http.server
import os
import pathlib
import socketserver
import sys


class Handler(http.server.SimpleHTTPRequestHandler):
    def end_headers(self) -> None:
        self.send_header("Access-Control-Allow-Origin", "*")
        super().end_headers()


Handler.extensions_map[".wasm"] = "application/wasm"


def make_parser(parser: argparse.ArgumentParser) -> argparse.ArgumentParser:
    parser.description = "Start a server with the supplied dist-dir and port."
    parser.add_argument(
        "--dist-dir",
        action="store",
        type=str,
        default="dist",
        help="set the dist directory (default: %(default)s)",
    )
    parser.add_argument(
        "--port",
        action="store",
        type=int,
        default=8000,
        help="set the PORT number (default: %(default)s)",
    )
    return parser


def server(port: int) -> socketserver.TCPServer:
    httpd = socketserver.TCPServer(("", port), Handler)
    return httpd


def main(args: argparse.Namespace) -> None:
    build_dir = pathlib.Path(args.build_dir).resolve()
    port = args.port
    httpd = server(port)
    os.chdir(build_dir)
    print(f"serving from {build_dir} at localhost:{port}")
    try:
        httpd.serve_forever()
    except KeyboardInterrupt:
        print("\n...shutting down http server")
        httpd.shutdown()
        sys.exit()


if __name__ == "__main__":
    parser = make_parser(argparse.ArgumentParser())
    args = parser.parse_args()
    main(args)
