Re #6803. Greatly improve unit test coverage for DataService.

Some tests fail at the moment due to defects with the class under test.
Re #6803. Don't suppress notifications for hidden objects/workspaces.

This may change the behaviour of the workspace dock, but then it was
broken anyway.
Re #6803. Getter methods for DataService contents exclude hidden.

size(), getObjectNames() & getObjects() exclude hidden objects/workspaces.
This will mainly affect corresponding python methods.
Re #6803. Fix DataService test.
Re #6803. Have getter methods depend on 'hidden' settings.

Amend size(), getObjectNames() & getObjects() to include 'hidden'
objects if the corresponding ConfigService setting (MantidOptions.InvisibleWorkspaces)
is set to true (1).
Re #6803. Factor out a bunch of repeated boilerplate stuff.
Re #6803. Add tests for 'hidden' WS behaviour.

The ADS is where this functionality is mainly (only?) used, so these tests
have been added to make sure the methods are not overridden.
Re #6803 Remove entirely unused code.
Re #6803. Add method that always includes hidden objects.
Re #6803. Remove call to removed method in test code.
Re #6803. Remove handling of hidden workspaces.

This is not redundant as it's already been dealt with down in the
Framework code.
Re #6803. Lean on DataService handling of hidden workspaces.

But retain the ability for an individual client of the widget to choose
whether hidden workspaces should be displayed or not.
Re #6803. Hidden workspaces should not be shown by default.
Merge remote-tracking branch 'origin/feature/6803_notifications_for_hidden_ws'