pw_build: Make tweaks to py dist install scripts

The setup.sh script supports installation over an existing venv, but
could cause version conflicts relatively easily due to the
--force-reinstall flag. Instead, we now explicitly uninstall all the
wheels first.

The setup.bat script never supported installation over an existing venv,
and probably shouldn't have been using the --force-reinstall flag to
begin with.

Both scripts now support the inclusion of a "constraints.txt" file
side-by-side with the setup script itself. If such a file exists, it
will be provided to pip using the "-c" option when running installs.

Tested: Built and ran setup.sh from downstream project with and without
    constraints file
Change-Id: I1b02f117d14a5a973a45df3a3117f9e8b03c4acf
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/65920
Reviewed-by: Anthony DiGirolamo <tonymd@google.com>
Commit-Queue: Joe Ethier <jethier@google.com>
diff --git a/pw_build/python.rst b/pw_build/python.rst
index 348e499..8f8ac9e 100644
--- a/pw_build/python.rst
+++ b/pw_build/python.rst
@@ -170,7 +170,7 @@
 ---------------------
 Pigweed also provides some templates to make it easier to bundle Python packages
 for deployment. These templates are found in ``pw_build/python_dist.gni``. See
-the .gni file for complete usage doclumentation.
+the .gni file for complete documentation on building distributables.
 
 pw_python_wheels
 ================
@@ -214,13 +214,17 @@
 (``.whl`` files) for one or more ``pw_python_package`` targets, plus wheels for
 any additional ``pw_python_package`` targets in the GN build they depend on,
 directly or indirectly. Dependencies from outside the GN build, such as packages
-from PyPI, must be listed in packages' ``setup.py`` files as usual.
+from PyPI, must be listed in packages' ``setup.py`` or ``setup.cfg`` files as
+usual.
 
 The ``.zip`` also includes simple setup scripts for Linux,
 MacOS, and Windows. The setup scripts automatically create a Python virtual
 environment and install the whole collection of wheels into it using ``pip``.
 
 Optionally, additional files and directories can be included in the archive.
+One common example of an additional file to include is a README file with setup
+and usage instructions for the distributable. A simple ready-to-use README file
+is available at ``pw_build/py_dist/README.md``.
 
 Arguments
 ---------