Fix Module.ExternalData test on Cygwin

In ExternalData_URL_TEMPLATES add a leading slash to the path after
file:// only if the path does not already start with one.
VS 6: Create .rule file directory before file

The VS 6 IDE wants .rule files to exist in order to run the rule attached
to it.  When creating the dummy .rule file make sure the directory exists.
Fix Module.ExternalData test on VS 6

Run the test with the ctest --build-noclean option.  The test
CMakeLists.txt file already uses file(REMOVE_RECURSE) to clean out
downloaded data anyway.  Some file removed by "msdev ... /clean" causes
CMake to re-run in the middle of the build step and file(REMOVE_RECURSE)
wipes out already-generated files.
ExternalData: Attach download rules to content links in IDEs

Each data file to be created in the build tree corresponds one-to-one with
a raw file or content link in the source tree.  Use the MAIN_DEPENDENCY of
add_custom_command to attach the build rule to the source tree file.  This
looks much nicer in the IDE project file browser and avoids ".rule" files.
Merge branch 'vs6-rule-files' into add-ExternalData-module
Merge topic 'vs6-rule-files' into next

18a93c8 VS 6: Create .rule file directory before file
Merge topic 'add-ExternalData-module' into next

7f59df9 Merge branch 'vs6-rule-files' into add-ExternalData-module
b4de870 ExternalData: Attach download rules to content links in IDEs
b49760e Fix Module.ExternalData test on VS 6
0642110 Fix Module.ExternalData test on Cygwin
VS 6: Remove $(IntDir) before making directory
VS 6: Create .rule file directory before file

The VS 6 IDE wants .rule files to exist in order to run the rule attached
to it.  When creating the dummy .rule file make sure the directory exists.
Merge topic 'vs6-rule-files' into next

ac953d5 VS 6: Remove $(IntDir) before making directory
Merge topic 'vs6-rule-files' into next

0f24a66 VS 6: Create .rule file directory before file
Merge branch 'vs6-rule-files' into add-ExternalData-module
Merge topic 'add-ExternalData-module' into next

0b0bd18 Merge branch 'vs6-rule-files' into add-ExternalData-module