Revert "Revert "VMDataBridge - Passing information out of the VM mid-execution""

This reverts commit 771e0c8848f06f86a10cd0da5214a339939c8e98.
fixed preview bubbles
databridge now a singleton
callbacks now keyed by string instead of guid
added docs about callback threads
system test and test updating
added mutex lock
Merge pull request #1955 from Steell/DataBridge

VMDataBridge - Passing information out of the VM mid-execution