865 refactor files controller

- add "model" `RepositoryFile` for files, which is not stored in the database but has validations. It depends on a new lib-class `GitFile` which replaces the `Entry` struct for folder contents. `RepositoryFile` serves for
 - getting file information from the git repository (`content` yields file contents)
 - getting directory information from the git repository (`content` yields directory entries)
 - saving a file to the git repository
- use less hashes and more object methods
- content of a file is now loaded in a lazy way
- remove `UploadFile` class (replace by `RepositoryFile`)
- rename `files` action to `show`
- add routing mechanism `FilesRouter` that checks if a file exists (Also add `IRIRouter` that searches for a given IRI)

Because of restructuring the lib-level and adding new classes, some minitest-tests had to be changed. They have been ported to rspec.