This suppresses the interpretation of string literals by switching the ocv_download_log from a macro to a function.
This avoid crashes when the string to log contains escape characters.
More details about the problem this PR fixes are available at: https://github.com/opencv/opencv_contrib/issues/1131
- more aggressive cache for files under CMAKE_BINARY_CACHE
* don't re-read files MD5
* don't repack archives
- add support for ENV{OPENCV_DOWNLOAD_PATH}
- added ID parameter as project/group identifier
- non-flat .cache directory (based on ID)
- download message prefix based on ID
- more detailed logging via ocv_download_log() macro
- force .gitignore file for .cache folder (with '*' pattern)