Calling #read(number_of_bytes) on a Zip::InputStream should return nil at EOF.

Previously it would return an empty string the first time, then raise on subsequent calls.
Merge pull request #96 from cdd/master

Zip::InputStream#read(number_of_bytes) should return nil at EOF.