Adds support for passing JSON parameters to initialize XBlock

This allows this XBlock initialization to pass a JSON argument from Python to JavaScript. This eliminates lots of template hacks getting data into XBlocks. 

There is a matching commit in the XBlock repo. 

@cpennington @rocha 
More specifically, this code clearly documents what is should be (cut the text "hasattr(frag, 'json_init_args') and").