Add Domain.get_or_create api.

Given a some properties/values this will return an existing object with that
matches the criteria given. If no object is found a new one is created, with
the given properties already set.

Change-Id: Iff262baacdc954ee56b5e767915e739d35780ed0