Bug Fix for mouse moving out of RigGV on drag and drop

on the RigGV there is now a dragLeaveEvent method that manages if a user
drags an item in the RigGV, but leaves the GV with the mouse before
dropping. Before this caused multiple items to spawn and lots of errors.
Now this method checks what the dragged item is and cleans up accordingly.
Merge branch 'bugDragDropSpawnBranch'
Serial Load and Close

Serial now checks using try:except: to see if it has loaded properly. If
it does not load it deactivates the instance of the class, so there is no
attempt to set servos, because the connection is not valid. In
ServoDataProcessor the setServo method checks to see if the MaestroServo
instance has an active connection. If not then once every thousand fails
it prints a nice little warning explaining that the connection is down.

When the mainWindow is closed, there is now also a closeEvent() which
checks to see if we are dealing with DataServoProcessor, and if we are,
then it neatly closes the servo connections, before shutting down.
Merge branch 'bugSerialLoadSaveBranch'