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.
Fix style guide violations (bundle exec rubocop)
Merge pull request #555 from timlinquist/raise-error-non-io

Dont allow unacceptable IO objects in update_with_media