Unify uploads handling under filestore package
Base part from splitting !227 (merged) into multiple MRs.
Here we are introducing the filestore
package that will handle file uploads to shared disk and Object Storage,
by now only shared disk is implemented.
This MR is a prerequisite for gitlab-org/gitlab-ee#4184
Although extending the information provided by workhorse to rails (file size and multiple hashes), this patch does not require any change in GitLab API.
/cc @ayufan
Edited by Alessio Caiazza