Add RuntimeDeviceTracker::CopyState

It is sometimes the case that you want to copy the state of one
`RuntimeDeviceTracker` to another. This is particularly the case when
creating threads in the control environment. Each thread has its own
copy of `RuntimeDeviceTracker`, so when you spawn a thread you probably
want to copy the state of the tracker from the calling thread.
5 jobs for copy-runtime-state
Status Name Job ID Coverage
  External
passed cdash-buildbot

passed vtk-m-dragnipur-osx-shared-debug+32bit_ids+64bit_coords+clang+tbb

00:11:51

passed vtk-m-dragnipur-osx-static-release+64bit_coords+clang+tbb

00:00:20

passed vtk-m-osheim-windows-shared-debug+ninja-vs-2017+tbb

00:06:24

passed vtk-m-osheim-windows-static-release+ninja-vs-2017+tbb

00:33:49