Fixed bug with deselection and added select of check/uncheck

There was potential for a crash as deselecting didn't disable the edit/delete buttons, adding another signal handler has sorted this

New behavior where checking or uncheckign a checkbox will automaticaly select that item has been added.

Refs #4495
Removed a redundant method and changed some signals

ConfigDialog::treeSelecting has been removed as it did the same as QTreeWidget.selectedItems() did after i had changed the functionality from looking at checkboxes to looking at the selection.

The signal for looking at checkboxes has been changed. The tree now has methods that respond to SelectionChanged() to make the deseltion work, and the ItemClicked handler now responds to ItemChanged instead as that should only fire when a checkbox is changed or the item itself is changed. I'll have to look at it's behavior after an Edit ro Deltion as i suspect it may need more work.

ConfigDialog::TreeClicked() has been renamed ConfigDialog::itemCheckedChanged()

The order the GUI is built in initSendToProgramTab() has been changed to add the buttons first, then the tree. as well as only connecting the signal handlers to the tree when everyhting else is intialised to stop problems where the handlers are trying to reference other GUI elements before they're initialised.

Refs #4495
Fixed a compiler error in Ubuntu

For some reason a definition that visual studio allowed, Eclipse didn't and it wouldn't compile.

Refs #4495
Merge branch 'bugfix/4495_SendTo_Program_Checkbox_fix' into develop