Add cancelScheduled() and isPrimaryThread() to Platform, cleanup RunContext
Finally, add completeSlowly() to Operations