Switch to version-numbered JSON format for .exam files

.exam files are now JSON strings prepended with a line of the form
	// <version number>
so that, if we ever change anything about the format, we can automatically upgrade old files.

Upgrading should happen seemlessly, so existing questions/exams load and are converted silently, and uploaded files are converted silently as well.
add numbasobject.py import to settings.py.dist
Merge branch 'master' into file-versions

Conflicts:
	editor/templates/editor.html
upadte NumbasObject to v'variables_as_objects'
question as_source method uses the right version header
question edit saves correct .exam header
variables can be marked as "editable in template"
list of X variable templates
requirements.pip specifies >= version values
still fiddling with template variables

it's all a mess and the day is over
template variables save and load properly
template switch is a nice big message bar at the top
Merge branch 'master' into templates

Conflicts:
	editor/templates/question/edit.html
hide template switch bar whern loading
settings.py adds numbas bin to pythonpath
Merge branch 'master' into templates
add step size to range template
Merge branch 'master' into file-versions

Conflicts:
	editor/static/js/examparser.js
Merge branch 'file-versions' into templates

Conflicts:
	numbas/requirements.pip
templates gone; now there are variable groups

I decided that the templates thing wasn't really worthwhile. The template-style type-specific definitions are nice interface elements, so why not have them all the time? Once that's done, there isn't much point in the simplified mode - it just marks some variables as more editable than others.
You can do that by separating variables out into groups, so I've got rid of the templates and the variable list now separates variables into groups, which can be defined by the question author. It's a good way of encouraging authors to organise their variables, even if they're not writing a template.