refs #6271. Must get access to PeaksWorkspaces.

For future work we need to get access to the peaks workspaces (const).
refs #6271. PeaksWorkspaceWidgets.
refs #6271. PeakPalette made into class.

We need to be able to modify the palette for both the foreground and
background peaks. We will also need to pass the palettes around so that they
can be used by various widgets.
refs #6271. Enable palette changing in concrete presenter.
refs #6271. Enable palette changing on all presenters.
refs #6271. Fix warnings and add proxy.
refs #6271. Expose transform type.
refs #6271. Fixed layout removal bug
refs #6271. Hook into PeakPalette when changing colours.
refs #6271. Fix GCC errors and warnings.
refs #6271. Ready to draw background radius.
refs #6271. Draw background radius.

Quite a few changes here. We now use QPainterPath to generate a more complex peak overlay to include the background peak.
refs #6271. Use boost optional where required.
refs #6271. Remove single overlay, and other GUI fixes.
refs #6271. Add hide and show features.

Toggle between hiding and showing the peaks workspaces.
refs #6271. Better handling for default functionality.
refs #6271. Develop mini peaks table.
refs #6271. Physical Peak bounding box calculations.
refs #6271. Wire-up ZoomToPeak
refs #6271. Zoom to Slice Point

.The last set of changes allowed zooming, but now we should be able to land on the correct slice location too.