filled in doc.py and contact.py

I'll refactor NDBUrl into a common file we can import.