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.
we can check bool here (or catch exceptions) and do not increase current_file_length below on error