GCC 12: Address compiler warnings (#8699)

This patch fixes warnings generated by GCC 12.0.1. The warnings involved the
use of the deprecated std::binary_function, std::unary_function, and
std::iterator interfaces. The use of these was considered more confusing than
explicitly declaring the associated types. Therefore this patch replaces the
use of these deprecated interfaces with the declaration of the associated
types.

This also addresses a couple uninitialized buffer warnings.

This also fixes the autest bootstrap.py script to handle Python 3.8 and
later via the distro pip package.
15 files changed