Allow passing a Tempfile into create_contents

My use case is building a basic application that allows users to upload files via a web interface and have those files stored in a git repo. The pros and cons of that put aside I had something similar to this:

*pseudo code warning*

```ruby
post "/upload" do
  file = params[:file].fetch(:tempfile)
  path = generate_path(file)
  api_client.create_contents(repo, path, message, :file => file)
end
```

This fails because the file object is a `Tempfile`.

I don't know if this is something you actually want to add. I even considered checking `responds_to?(:read)` but thought I should raise it here.

Of course my alternative would be to do the read myself.

*On an unrelated note I was receiving failures with the following:*

      VCR::Errors::UnhandledHTTPRequestError
      VCR::Errors::UnhandledHTTPRequestError
      rspec ./spec/octokit/client/organizations_spec.rb:225 # Octokit::Client::Organizations.add_team_membership invites a user to a team
      rspec ./spec/octokit/client/organizations_spec.rb:233 # Octokit::Client::Organizations.remove_team_membership removes a user's membership for a team
Wondering if we can compare to `IO` here and forego the call to `close`.