Add ContactName interface (closes #17)

We will also need a corresponding dictionary once ContactProperties is
converted to a dictionary type (issue #19).