ENH: ExternalData: Add support for custom algorithm-to-URL mapping
ENH: ExternalData: Add support for custom algorithm-to-URL mapping

Allow URL templates to contain a %(algo:<key>) placeholder that is
replaced by mapping the canonical hash algorithm name through a map
defined by the <key>.

Extend the Module.ExternalData test to cover the behavior.
Extend the RunCMake.ExternalData test to cover error cases.

Change-Id: Icc40b9e28be15d40648a01d0c0af0a1d70c329a5

msmolens/ITK,BlueBrain/ITK,msmolens/ITK,Kitware/ITK,LucHermitte/ITK,richardbeare/ITK,LucasGandel/ITK,richardbeare/ITK,biotrump/ITK,fbudin69500/ITK,PlutoniumHeart/ITK,richardbeare/ITK,stnava/ITK,hjmjohnson/ITK,hjmjohnson/ITK,PlutoniumHeart/ITK,LucasGandel/ITK,zachary-williamson/ITK,blowekamp/ITK,spinicist/ITK,jmerkow/ITK,biotrump/ITK,thewtex/ITK,stnava/ITK,PlutoniumHeart/ITK,blowekamp/ITK,malaterre/ITK,Kitware/ITK,blowekamp/ITK,zachary-williamson/ITK,richardbeare/ITK,zachary-williamson/ITK,fedral/ITK,zachary-williamson/ITK,zachary-williamson/ITK,vfonov/ITK,hjmjohnson/ITK,Kitware/ITK,LucasGandel/ITK,LucHermitte/ITK,fbudin69500/ITK,jcfr/ITK,blowekamp/ITK,BlueBrain/ITK,atsnyder/ITK,fedral/ITK,InsightSoftwareConsortium/ITK,spinicist/ITK,LucHermitte/ITK,PlutoniumHeart/ITK,InsightSoftwareConsortium/ITK,stnava/ITK,fedral/ITK,biotrump/ITK,vfonov/ITK,BRAINSia/ITK,biotrump/ITK,atsnyder/ITK,msmolens/ITK,malaterre/ITK,jcfr/ITK,stnava/ITK,biotrump/ITK,ajjl/ITK,LucHermitte/ITK,jmerkow/ITK,msmolens/ITK,PlutoniumHeart/ITK,atsnyder/ITK,PlutoniumHeart/ITK,atsnyder/ITK,ajjl/ITK,msmolens/ITK,richardbeare/ITK,zachary-williamson/ITK,fbudin69500/ITK,BlueBrain/ITK,jcfr/ITK,BRAINSia/ITK,spinicist/ITK,stnava/ITK,vfonov/ITK,jmerkow/ITK,LucHermitte/ITK,fbudin69500/ITK,spinicist/ITK,zachary-williamson/ITK,atsnyder/ITK,jcfr/ITK,biotrump/ITK,blowekamp/ITK,ajjl/ITK,LucHermitte/ITK,thewtex/ITK,blowekamp/ITK,stnava/ITK,thewtex/ITK,BRAINSia/ITK,fbudin69500/ITK,vfonov/ITK,LucasGandel/ITK,BlueBrain/ITK,ajjl/ITK,malaterre/ITK,atsnyder/ITK,atsnyder/ITK,spinicist/ITK,vfonov/ITK,ajjl/ITK,vfonov/ITK,hjmjohnson/ITK,atsnyder/ITK,Kitware/ITK,Kitware/ITK,blowekamp/ITK,fedral/ITK,zachary-williamson/ITK,richardbeare/ITK,LucasGandel/ITK,fbudin69500/ITK,fedral/ITK,hjmjohnson/ITK,thewtex/ITK,LucasGandel/ITK,richardbeare/ITK,malaterre/ITK,malaterre/ITK,ajjl/ITK,spinicist/ITK,fedral/ITK,BRAINSia/ITK,BlueBrain/ITK,BRAINSia/ITK,vfonov/ITK,vfonov/ITK,thewtex/ITK,fedral/ITK,Kitware/ITK,malaterre/ITK,ajjl/ITK,jmerkow/ITK,jcfr/ITK,hjmjohnson/ITK,BlueBrain/ITK,msmolens/ITK,msmolens/ITK,PlutoniumHeart/ITK,jcfr/ITK,zachary-williamson/ITK,fedral/ITK,thewtex/ITK,thewtex/ITK,LucasGandel/ITK,stnava/ITK,biotrump/ITK,BRAINSia/ITK,LucHermitte/ITK,malaterre/ITK,jmerkow/ITK,fbudin69500/ITK,blowekamp/ITK,LucasGandel/ITK,spinicist/ITK,InsightSoftwareConsortium/ITK,PlutoniumHeart/ITK,jmerkow/ITK,jmerkow/ITK,malaterre/ITK,LucHermitte/ITK,biotrump/ITK,atsnyder/ITK,fbudin69500/ITK,spinicist/ITK,BRAINSia/ITK,InsightSoftwareConsortium/ITK,Kitware/ITK,stnava/ITK,jcfr/ITK,spinicist/ITK,malaterre/ITK,InsightSoftwareConsortium/ITK,ajjl/ITK,jcfr/ITK,jmerkow/ITK,InsightSoftwareConsortium/ITK,hjmjohnson/ITK,stnava/ITK,BlueBrain/ITK,InsightSoftwareConsortium/ITK,BlueBrain/ITK,vfonov/ITK,msmolens/ITK