Make File.open_buffer support Tempfiles

Tempfiles behave close enough to IO's to work here, but aren't IO's.  This allows you to do:

```ruby
Zip::File.open_buffer(open('http://www.example.com/foo.zip'))
```