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.
I don't think that would be good. OperationContext should just be an enum of related values. The duplication if unfortunate, but it is an effect of having a single exception mean multiple things. The big cost is the multiple (2) error messages and that can't be avoided, but both cases must be supported by the two very similar exception classes.