[wip] Switch to iterator-based list

Switched Plan as an example. Feedback before I move the pattern to all?
I'm going to get rid of the *List structs and rename ListResponse to
ListMeta.

r? @zenazn @metcalf 
You should invert this check and `return ret, &i.meta, i.err` early. It saves you a level of indentation in the code below