Make setup endpoint idempotent

Making all setup endpoints idempotent. It's not 100% idempotent,
cause that would require unique indexes in the Keystone database.
But for our purposes, check for duplicates before storing endpoint
related data to Keystone will be enough.

Change-Id: I06ece3f9d1c38429b4bf0a934fce44bcac9c7f3c