Use more specific Nexus name instead of HDF in file loaders

* Rename HDFDescriptor to NexusDescriptor
* Rename {HDF,NonHDF} -> {Nexus,Generic} in FileLoaderRegistry
* Rename DECLARE_HDF_FILELOADER_ALGORITHM ->
  DECLARE_NEXUS_FILELOADER_ALGORITHM

Refs #7461
Make the IFileLoader interface a template. Refs #7461

This avoids having to declare a new interface when a new loader type
is added.
Merge remote branch 'origin/feature/7461_rename_hdfdescriptor_to_nexusdescriptor'