Add comprehensive unit tests in tests/test_all.cpp Refactor CMakeLists: set C++17 and CMAKE_CXX_STANDARD_REQUIRED, introduce a SOURCES list used by executables, add a deep_miner_tests target, and set cmake_minimum_required to 3.15