Dont allow unacceptable IO objects in update_with_media

We ran into a bug where a 401 error was returned for any File-like
object that didn't have a to_io method defined
(ActionPack::HttpUploadedFile in this case). Since the contract of this
object is to have a to_io method otherwise it will be included in the
oauth signature (cause of 401) then we should short circuit early on
when we know this is supposed to be a File like object. Later on we
aren't sure exactly when we include/exclude params from the signature.