Minor code cleanup
Added stdin streaming support, remote filename and mimetype overrides

You can now pipe to rural to upload the pipe contents to S3 and get a
pulic link to that file. If no remote filename override is specified, a
uuid4 filename is created for the file.

Remote filename and mimetypes can now be overridden at runtime.

Bugs relating to empty files have been fixed. This closes $8 and $11.