some of the stuff will be moved to opencv_contrib module.
in order to make this PR pass buildbot, please, comment off opencv_legacy, opencv_contrib and opencv_softcascade test runs.
[~] Automatically tracked dependencies between modules
[+] Support for optional module dependencies
[+] Options to choose modules to build
[~] Removed hardcoded modules lists from OpenCVConfig.cmake, opencv.pc and OpenCV.mk
[+] Added COMPONENTS support for FIND_PACKAGE(OpenCV)
[~] haartraining and traincascade are moved outside of modules folder since they aren't the modules