Implement option to clone repos shallow

UseExternalClone is removed since:
* parameter list changes between CMake versions
* was on windows only
* 3 new cmake releases happened since the bug