This got a bit messy as a change, but it's basically all that topic. I
had to go squint at python3-libraries to figure out the modern
incantation for getting python3 to build under the fuzzer, but victory
is mine and this is probably substantially cleaner.
This will clean up the Makefile on the hg side considerably, and will
also fix the coverage build. Fixes#2076.
Bonus: I did some extra work in build.sh so that incremental rebuilds
of the fuzzers won't needlessly recompile $OUT/sanpy, shortening
development time on new fuzzers and avoiding issues caused by a $OUT
that was built for a different fuzz configuration.
The cpython patch is derived from the work done in
https://bugs.python.org/issue35214 by Greg Smith. It's required to
unblock msan builds on Python 2.7. Once upstream cpython 3 is fixed to
support msan builds, we should probably move to fuzzing under Python 3
instead of Python 2.
I'll wait to enable msan builds until the associated fixes in hg core
land, since I'm not sure when that will happen.