add an in-csv iterate driver clause for reading CSV contents

Can now read a CSV using a syntax like:

{{{#!lisp

(iter
  (for (col1 col2 col3) in-csv #P"file.csv"
       ;; optional settings to configure the read
       SKIPPING-HEADER T SEPARATOR #\| QUOTE #\" ESCAPED-QUOTE "\"\"")
  (break "look at my columns" col1 col2 col3))

}}}

Had to reproduce the logic from `with-csv-input-stream` inside the
iterate clause to get the expansion to work right, using `iterate`'s
`finally-protected` clause to be sure we clean up after ourselves.

Might be able to simplify a lot of this lib by using that as the main
driver.

refs Programming:#310 (1.5)
improved docs. Refs Programming:#301 (.5)