add stream and pagination for contacts

 - Dictionary vs object. `contact['key']` in the fake and `contact.key` for the actual.

 - It's to obfuscate the cursor, to force users to use the cursor rather than object id's when making requests.