Support experimental contacts API

Ok, then that's two things we need to change about our `PUT` implementation:
  - It should replace the object
  - It should create the object if it does not yet exist