Support external algorithms and versions
This release adds the ability to use external algorithms and versions. This is accomplished using the ExternalStagingFileDataProvider. This change did not affect the internal algorithms (CS and TNM) and they are still accessed the same way.