add stream and pagination for contacts

Based on IRC discussion, I think the plan is to move the encoding and decoding to happen in `_paginate`:

> 10:22  (justinvd1) rudi_: I'm probably misunderstanding something, but would it be possible for _paginate to worry about the cursor decoding and encoding, instead of needing to decode and encode before and after we call _paginate
10:23  (justinvd1) rudi_: (might make the switch to riak pagination easier)
10:24  (rudi_) justinvd1, we could add it to _paginate, yes. I don't see any reason not to. It just ended up that way because everything was in the `page` function, and then first the encoder got pulled out, and then the paginate function.