Extract common functionality to xblock-utils

I find suspicious replacing 

    @XBlock.json_handler
    def publish_event(...)

with

    @property
    def additional_publish_event_data(self):

The replacement would work only if it's called somewhere along the lines of base-class `publish_event`. I'm not sure if it's so, so I was trying to draw your attention to this place one more time, just to clarify it.