Add id attribute to <component-link> schema.

This new attribute is used to identify components by detector id,
for when their name is not unique.

Refs #9959
Implement loading with <component-link>'s id attribute.

Refs #9959
Fix id-name conistency check in Inst.Def.Parser

Refs #9959
Save detector ids when available in SaveParamFile

Refs #9959
Update LoadParameterFile's documentation.
Tweak error handling in InstrumentDefinitionParser

Refs #9959
Update SaveParameterFileTest to test detector ids.

Refs #9959
Make SaveParameterFileTest use ASSERT_DELTA for doubles

Refs #9959
Removed some old commented out code in Instrument.

Found this while updating the unit test for this ticket.

This code was commented out over two years ago. If it needed to be kept,
it would have been missed by now. Given the exception that immediately
follows gives the exact same information, we can afford to clean this
up.

Refs #9959
fit icat coverity issues. re #9928
Update LoadParameterFileTest.

We now test setting parameters by detector id.

Refs #9959
Merge remote-tracking branch 'origin/feature/9959_extent_componentlink_to_accept_id_attribute'
Merge remote-tracking branch 'origin/feature/9928_icat_coverity'
Merge branch 'master' into bugfix/9961_wrongMDBinning