implement FileApi

- adds methods to extract files and diffs from revisions
- some minor refactoring in building request URLs for changes and revisions