Re #6198. Just return the maps by value.

In C++11, map has a move constructor so returning by value isn't expensive.
Actually, even on the non-C++11 Mac tests show that the RVO saves us.

Now to fix all the client code...
Re #6198. Fix usages of mapping methods for value return.

Notes:
- 4 classes weren't deleting the returned pointer
- more were not exception safe
- some changes rely on the move assignment operator for efficiency.
Re #6198. Fix clients of mapping methods in Algorithms package.

(At least 5 more places that weren't deleting the returned map.)
Re #6198. Fix clients of mapping methods in Crystal package.
Re #6198. Fix last use of mapping method in Framework.

We're relying on the move assignment operator here for efficiency, so
things will be a little slower on the Mac until it gets C++11 libs.
But we're not leaking the thing like we were before.
Fix previously-leaking usage of getSpectrumToWorkspaceIndexMap.

This is the one that the Coverity scan highlighted. Re #6198.
Re #6198. Update InstrumentView usage of mapping method.

I restored the documented exception throwing behaviour after checking that
every place that calls the method catches the exception. Not sure when/why
that behaviour was changed, but this avoids the risk of accessing an
invalid iterator.
Re #6198. Fix usages of mapping methods in tests.
Merge branch 'feature/6198_mapping_functions_remove_bare_pointers' into develop