Actually, location needs to be a separate field

I've realised that the extension's location is used in queueScript, so it needs to match that used in the extensions's .js file.
add Numbas.addExtension shorthand; move 'base' and 'display' dependencies to editor-extras

Numbas.addExtension is a wrapper round Numbas.queueScript. It just takes a short name (should be the same as the extension's location field in the editor) and passes a callback the corresponding Numbas.extensions.XXX object. This way, you don't need to mess about with `extensions/x/x.js` paths, or set up the extension's JME scope.
only show extnesion documentation link if the URL is set
extracted path for extensions ends in the extension's location
a couple of non-editable exam view fixes

Correctly display theme name
Don't try to get user's recent questions
Don't try to get user's extensions
add links to upload extensions/themes from the edit page

Makes it a bit more obvious than having to click through the profile page.