add stream and pagination for contacts

@rudigiesler Ah, after reading @hodgestar's explanation, I think I misunderstood you, nevermind the previous question.