avoid converting iterator into array unless absolutely necessary in
format_items()
introduce iterator_map() and avoid converting iterator to array in `wp site list`
add some missing conversions to/from iterators
convert user object to array using its to_array() method
cast arrays to objects instead of the other way around

the advantage is that objects that have magic methods don't need special
handling
Merge pull request #662 from wp-cli/csv-stream

Make --format=csv stream output