Return to previous state of vector joins if the vector props dialog was cancelled
Followup #10912 - detect cycles in joins and reject joins that would create cycle

Cycle would otherwise cause infinite loop when updating fields and it does not make sense