add stream and pagination for contacts

We could, but I'm not sure if it would help. 

In the fake API, we don't go to the trouble of encoding into newline separated json, and then decoding back into a list of objects, because the we start off with a list of objects, which is what we want. 

The parser is what determines what the output will look like (raw string of new line separated json vs list of objects), rather than whether we are streaming or not.