Refactor: Push schema index/constraint conflict messages into the exceptions to align with SPI.

Proper messages for these exceptions can only be created within the context of the operation
and below the SPI level so that such users (Cypher) enjoy increased friendliness.
Does this really need to be public? Surely protected should suffice.