Case-insensitive uniqueness

When the user tried to create the same entity twice but with different
case-sensitivities, the server would reach an infinite loop or allow both
entities to exist in the case of Tag. This fix converges those to more
standard behavior by universally rejecting the request to create the entity
twice. The fitting error message will be: "...already exists, and the name
fields do not match".

Fixes https://tickets.puppetlabs.com/browse/RAZOR-313