SuperbuildExternalProject: support offline builds
Adds a download-all target which downloads all repos and tarballs separately from the rest of the project. Additionally, a SUPERBUILD_OFFLINE_BUILD option is provided to skip updating git repos during the build.