Add share_file()


 Upload files to a room. Really want this functionality - you may want to re-factor to clean up, so I've kept it simple. I've had to pull in a few dependencies, have mostly ignored error handling, and also use 'private' _url() method.

 Cool.