unzip: Handle non-seekable input ports.

Before this commit:
  - unzip would attempt to seek the input port via file-position in some cases

After this commit:
  - unzip attempts to seek the input port via file-position. If
    exn:fail:filesystem or exn:fail:contract is thrown, unzip skips over bytes
    from the input stream to achieve the desired seek.