Added a pre upload event.

This event will be given an instance of UploadedFile instead of a moved file.
Addresses #21.
Added a test to assure you can pass values through the event listeners via the request object.