XBlock argument passing support

@nedbat Quick review? 

This is a port of https://github.com/edx/xblock-sdk/pull/18/files

It adds a minimal XBlock (ProfileXBlock) which is helpful for manual testing of this functionality, and when we finish it, pyfs. That block is not production-ready, but I'd also like to give a demo of this XBlock internally, and this gets it onto edge.edx.org, killing two birds with one stone. 
I actually had to rewrite this to make tests pass. Studio has a huge number of tests which rely on HTML being identical (to the point of not even bothering with a `strip()`). I had to change the template to remove the additional `<script>` tag entirely if the `js_init_parameters` are not there, .