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.

```
twitter [raise-error-non-io] bundle exec rake verify_measurements
YARD-Coverage: 59.4% (threshold: 59.4%)
```