ADS can now return map of top level items.

The map shows the name & workspace of any items that are groups or
not members of groups.
Refs #7708
Implemented Workspace::toString for all workspace types.

This now returns a human-readable string detailing the structure
of the workspace.
Refs #7708
First cut at putting back lazy-population of the MantidDock

Still needs icons & WorkspaceGroup sub items.
Refs #7708
Modified MantidDockWidget to use Workspace::toString

This will ease future extensions should the ADS ever be made to handle more
than workspaces.
Refs #7708
Only sort in MantidDock when tree is not updating.

Refs #7708
Removed unused code in MantidDock.

Refs #7708
Remove obselete InfoNode class & all references.

Refs #7708
Attach DataItem::toString to Python __repr__ method.

Refs #7708
Fix memToString call to use explicitly instantiated type.

The OS X size_t version isn't covered by the ones currently used.
Refs #7708
Fix MatrixWorkspaceTest after removing memory from description

Refs #7708
Missed ManagedRawFileWorkspace2D from icon list.

Refs #7708
Fix missing ID string for IMDWorkspaces in workspace dock

Refs #7708
Merge remote-tracking branch 'origin/bugfix/7708_lazy_dock_workspace_details'