OGM-642 Avoiding read prior to insert if possible

Adding new method `getDuplicateInsertPreventionStrategy()`on `GridDialect`. By default, we do the explicit look-up as before, but of the store itself can detect the situation, we rely on that and omit the additional read.
I see, it's one of those complex things :)
But I still think we ultimately want to implement JPA correctly, so we have to make sure this exception here is `EntityExistsException` when exposed by user code. You might want to patch the EM wrapper code to do the right translation, possibly introducing a new exception type in the EM sources or making the exception translator extensible (and then OGM registers new translation rules).

Or just propose that exceptions like `NonUniqueObjectException` don't extend JDBC exceptions - I think that's questionable but might be worth hearing more opinions on the mailing list.