Add a new variant of modifyFile that takes a FileContentInput, and
change the existing one to a default implementation that uses it.
This will make it easier to extend the API in future by adding new
fields in the input.
In future the original modifyFile method can be deprecated. It is
not done in this commit because there are still a lot of places
where it's used.
Change-Id: I51f80596353a642ddd844a955a069e9328c373b6