Fix PureSystem so that runtime.publish() works for a pure XBlock.

Fix extracted from https://github.com/edx/edx-platform/pull/6035.

Fixes PLAT-334.

Does not include tests.
Nit: I'm not sure if it's commented anywhere else - but it'd be nice to expand on this comment, detailing that this `PureSystem` is really a shim / compatibility class to allow the "old" to work with the "new" (pure XBlock runtime, etc.). Seeing `PureSystem` as a name implies no shim-iness - it'd almost be nice if this class were called "PureSystemShim` or `FauxPureSystem`. (Almost...)