M101 - abort mission functionality

added the following
-abort_mission
-instrument_abort_sequence

modified yaml mission file -instrument to -missionThread
remove unused create_command parameter in _instruments_execute_agent method
more graceful platform agent command dispatch involving child instruments

https://confluence.oceanobservatories.org/display/CIDev/Platform+Agent+adjustments+for+Mission+Execution
more flexible shutdown logic in test_platform_agent_with_rsn; and fix broken test_capabilities  (due to missing param 'mission' in scheme)
Updates ion-functions
OOIION-1827: Add clone_device and clone_deployment to agentctrl
Added diagnostics to agentcontrol
OOIION-1827: Revised agentcontrol clone operations
Bumped ion-definitions
Adds skip test for SGS interfacing uplaod code in PYCC mode
Deprecates outdated qc test in DAMS
Merge pull request #2062 from lukecampbell/pyccfixes

Skips for PYCC mode
Merge pull request #2058 from cwingard/ionfunc

CIDEVMI-1178 Updates ion-functions through pull request 168
Enhanced agentcontrol
Merge pull request #2057 from carueda/pa_child_state_flex

More flexible platform command dispatch involving child instruments
Fixes test_sparse_values on pycc

- The test publishes to a dataset 4 times but the monitor only listened
  to three of them before making assertions causing it to sporadically
  fail. The solution, here, was to add another wait at the third publish.
Merge pull request #2063 from lukecampbell/pyccfixes

Fixes test_sparse_values on pycc
Local Range Test layout and small fix in upload
Merge pull request #2051 from Bobfrat/mission-executive

M101 - abort mission functionality
import DriverEvent from ion.core.includes.mi (not from mi.core.instrument.instrument_driver)