Send to options working more sensibly

Changes have been made to the tree in View->Preferences->Mantid->Send To
so that it opperates more sensibly, in specific:
Checkboxes in the tree now switch visibility in the menu on or off.
the "visible" option in the edit dialog has been removed in favor of using
the tree checkboxes.
selection to edit is now made by selecting the item rather then clicking
the checkbox.
functionality of ConfigDialog::createCheckedTreeItem now makes sence based
on the parameters, passing true as the second paramter will now produce a
checked item. This will have broken some other functions that use, it, but
it'll only require that i negate their current value they pass.

Refs #4495
Multi-select functionality restored

The ability to select multiple programs (used for deletion) has been restored

Refs #4495
Nagated affected function calles

My edit to createCheckedTreeItem meant that i had to nagate the second
parameter to restore functionality to normal prior to the change

Refs #4495
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 remote branch 'origin/bugfix/4495_SendTo_Program_Checkbox_fix'