Packages the distutils stdlib module as a standalone package,
```
377K distutils.data
221K distutils.data.br
19K distutils.js
```
to reduce the minimal pyodide size.

Part of #1542 

This also,
 - adds documentation on what's supported or not in the stdlib
 - makes a few changes to `pyodide_build/buildall.py` to be able to add such stdlib packages as a dependency in other packages (which didn't work before). For instance, until there is a release with https://github.com/pypa/packaging/pull/396 micropip has a dependency on distutils.
Unvendor distutils. Packages the distutils stdlib module as a standalone package,
```
377K distutils.data
221K distutils.data.br
19K distutils.js
```
to reduce the minimal pyodide size.

Part of #1542 

This also,
 - adds documentation on what's supported or not in the stdlib
 - makes a few changes to `pyodide_build/buildall.py` to be able to add such stdlib packages as a dependency in other packages (which didn't work before). For instance, until there is a release with https://github.com/pypa/packaging/pull/396 micropip has a dependency on distutils.
from pyodide_build.testing import run_in_pyodide


@run_in_pyodide
def test_sqlite3():
    import sqlite3

    with sqlite3.connect(":memory:") as conn:
        c = conn.cursor()
        c.execute(
            """
            CREATE TABLE people (
                first_name VARCHAR,
                last_name VARCHAR
            )
        """
        )
        c.execute("INSERT INTO people VALUES ('John', 'Doe')")
        c.execute("INSERT INTO people VALUES ('Jane', 'Smith')")
        c.execute("INSERT INTO people VALUES ('Michael', 'Jordan')")
        c.execute("SELECT * FROM people")

    content = c.fetchall()
    assert len(content) == 3
    assert content[0][0] == "John"
    assert content[1][0] == "Jane"
    assert content[2][0] == "Michael"

from pyodide_build.testing import run_in_pyodide


@run_in_pyodide
def test_sqlite3():
    import sqlite3

    with sqlite3.connect(":memory:") as conn:
        c = conn.cursor()
        c.execute(
            """
            CREATE TABLE people (
                first_name VARCHAR,
                last_name VARCHAR
            )
        """
        )
        c.execute("INSERT INTO people VALUES ('John', 'Doe')")
        c.execute("INSERT INTO people VALUES ('Jane', 'Smith')")
        c.execute("INSERT INTO people VALUES ('Michael', 'Jordan')")
        c.execute("SELECT * FROM people")

    content = c.fetchall()
    assert len(content) == 3
    assert content[0][0] == "John"
    assert content[1][0] == "Jane"
    assert content[2][0] == "Michael"
