FileUploader first commit.

Collects files, renames them upon size and age constraints, tests the above.

Lots of ```TODO(dkorolev)```. And time to discuss export events in more detail.
Good eye :+1:  I was thinking of renaming that method but realized the ```Ensure*``` name is clean enough.