Stashing to switch tickets

Now creating the functionality to populate the tree.
Committing in order to switch branches and fix a reopened ticket

Refs #3737
Instanciation methods taking shape

The instanciation methods that build the QTreeWidget are taking shape.

I've added new constructors to ShapeDetails and derived classes that take a Poco::XML::Element and can fill in details from the XML contained within that element

Refs #3737
Tree is being built, XML being parsed

The tree is being built as expected and the XML is being parsed, but i've revealed that the new way i've done something seems to mean that widgets aren't being loaded, but i'll fix that by making it get the widget a more sensible way.

Refs #3737