Update CMake boost python logic and std::filesystem usage
We need to have at least one other required library (use system for that), otherwise FindBoost will consider itself successful even if it didn't find anything. In that case,
_boost_MULTITHREADED would not be set and we can't find libboost_python.
Also, add Python 3.8 support by using the Python version numbers as library version numbers.
Furthermore, we now correctly use
std::experimental::filesystem. There were some modifications late in the C++17 standardization process.