Python3

Create an option (USE_PYTHON3 cmake switch, which is OFF by default) to build python3 bindings.

This does not check for the python3 boost component in externalpackages.cmake, since it is checked in src/python/CMakeLists.txt anyways (and soft-fails if not found). I don't see a reason for checking twice.
The old code did not clear these variables for the BOOST_CUSTOM case, and I have a site that uses BOOST_CUSTOM that sets them and needs them preserved. So in this clause (NOT BOOST_CUSTOM AND NOT BUILD_PY3), I'm inclined to remove the "unset" commands to preserve how it used to work.