Change iter_sample to yield a MultiTrace instance

Before, `iter_sample` returned a single-chain trace object, not a
`MultiTrace` instance like `sample`. This is an issue for functions that
rely on a `MultiTrace`-like interface. Timings of the previous and new
versions are not noticeably different in the context of sampling.

See #632.
Change nbsample to use _iter_sample

Change `nbsample` to behave more like `_sample`. Use `_iter_sample` and,
if stopped, call close on the trace. Before returning to the user, lift
the trace to a `MultiTrace` instance.

See discussion in #632.