FileReceiver initial commit.

Pull requesting into the ```FileUploader``` branch now to take the first look. OK to merge from my side.
I would use our ScopeGuard for ::closedir