Unit tests and workbench scenario.

Note the first commit. As there is no location parameter on the xblock in the workbench, the _get_unique_id() method was the best workaround I managed. If you know of a better way, this might be improved.