Implement contact retrieval (R).

Returning `None` for missing contacts is fine, but we shouldn't silently swallow other errors.