Re #8220. If the filename member is not empty, expand to full path.

The filename is used inside InstrumentDefinitionParser to locate the
geometry cache (vtp) file.
Re #8220. Use the instrument name for the 'mangled name' if no IDF.

Previously, this would always return empty for the filename as no file
is being used in these circumstances.
Merge remote-tracking branch 'origin/bugfix/8220_instrument_caching_bug'