Filters placed on servo angle min and max table inputs

A bit of a hacky solution implemented to call a function on "itemchanged"
signal, which checks the column, checks whether the data is a number, and
if it is allows it, if not, then sets the angle to 0 or 180. would be nice
to just ignore the value change, and return it to whatever it was. Fix
should be simple when the trick is figured.

When populating both data tables signals are now blocked, to limit
expensive computational rubbish firing off all over the place.

Next implement node highlighting in the graphics view, when you select a
row of the data table.

Then look into linking to scene Nodes...
Node and SuperNode Highlighting is now implemented from SceneLinkTabW

When you click the row the corresponding node/superNode now highlights.
This was done by adding the node itself to the attributeConnector for easy
reference. The isHighlighted attribute on the Node and SuperNode was then
assigned True/False depending on the row selection.

The mouseMoveEvent was tidied in the graphicsView,since it was excessively
calling "setHighlight" for each Node.

Merging Nodes from WireGroups was updated, to account for getGroup
changes. Merged Nodes still need to be filtered for creating a final list
of activeAttributeControllers, since duplicates will currently occur
activeAttributeConnector List now sorted with no duplicates

see collectActiveAttributeConnectors method for details on removing
duplicates using conversion to a set then back to a list, and then sorting
via the controllerAttrName method using .sort