Unify version controllers

A while ago, I fixed the version controller functionality for wiki pages. Wiki pages could be added to version control.

However, I also want files in the `files/` section of the wiki to be placed under version control when added via the web interface. At first a new interface was introduced for this. See #349

A big improvement is generalising the VersionsController interface: it now acts on files instead of just pages.

Improvements:
 * VersionsController depended on FileSystemPage (wiki page) objects
 * File names (`content.txt` and `properties.xml`) are only known to FileSystemPage. The VersionsController just add files, regardless of the content.
 * The VersionsController code is simpler, since it only deals with files.
 * Code deals with File's instead of strings representing files. This is a more uniform approach.