DATAGRAPH-445: Added failOnDuplicate property to @Indexed(unique=true)

@jexp addition of failOnDuplicate to @Indexed. At present, this allows the raw ConstraintViolationException to propagate up, do we want to change this to throw something more friendly? Also the Rest based calls work slightly differently and land up using an IllegalStateException to indicate duplicate errors. Let me know if you want me to change these.