add stream and pagination for contacts

I'll modify the `mk_api` to accept an optional `limit` argument. It seems like the best way to minimize the amount of code.