Regenerate graphs even when user is not permitted to upload
This adds a new feature whereby graph images can be regenerated
and uploaded to the wiki even when the user viewing them does
not have upload permission. This means that one need not grant
upload permission to users who just need to edit graphs (i.e. they
already are allowed to edit wikitext) and is also of use to other
extensions such as SemanticResultFormats and Genealogy which
create dynamic graphs that need to be re-rendered by anonymous
The upload is done by a new 'GraphViz' user, whose name is defined
by the 'graphviz-upload-user' system message.
This change also fixes a few minor deprecations and bugs such as
the error message shown when there is no filename known, and some
phpdoc is improved.