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.