file/unzip: add help func with-unzip with-unzip-entry
file/unzip: change to `call-with-unzip` and `call-with-unzip-entry`

Use `call-with-` instead of `with-`, since it's a function instead
of a syntactic form. (This is a weak convention, but one to try to
follow with new functions and forms.)

Fix up the contracts and change the documentation to match the
usual style.

Create the temporary directory in `(find-system-path 'temp-dir)`
instead of the current directory.
Fixed uses of free-identifier=? guards

free-identifier=? expects, contrary to documentation, a syntax?, causing
contract errors. (and (identifier? ...) ...) solves this.

[Since the function is called only on fully expanded forms, it doesn't
 look like the `identifier?` tests can ever fail, but it still seems
 sensible to have them. -Matthew]