Re #6191. Remove unnecessary calls to Workspace::generateSpectraMap.
Re #6191. Sum event lists even if empty.

This ensures that the detector IDs are copied over properly.
Re #6191. Don't go via SpectraDetectorMap to update ISpectrum objects.
Re #6191. Remove unnecessary calls to generateSpectraMap in tests.
Re #6191. Fix merge problem.

It had retained a reference to a class that's now gone in other branches.
Re #6191. Remove MatrixWorkspace::getWorkspaceIndexToDetectorIDMap.

It is redundant alongside the ISpectrum objects and was only being used
in tests and in one place in the ISIS SANS GUI (for which I've put in what
I believe to be equivalent code, though there's no test to verify it (too
much logic in the GUI layer).
This also resolves part of #6198.
Re #6191. Remove MatrixWorkspace::getWorkspaceIndexToSpectrumMap.

It is redundant (just use ISpectrum) and was not being used anywhere.
With this commit, #6198 is half way done.
Re #6191. Remove unnecessary calls to generateSpectraMap().
Re #6191. Remove another unused method.
Re #6191. Doxygen warning fixes.