Move code for file uploads to separate services.

This is the initial separation of upload code into separate services for:
 - all uploads
 - source uploads
 - translation uploads.

There will be further separation in future pull requests, with the aim of separating adapter and pot/po upload handling to separate classes with a template method to describe the common upload algorithm.