Don't send SelectionShapeEvent events in the describeCUI/describeLegacyCUI methods, that event is already sent in dispatchCUISelection in LocalSession
That check is also done in the LocalSession, let the LocalSession decide what to do with multiple packets.
Let the handshake packet refresh the CUI protocol version (it happens that players join with another client before the previous session expires) and also send the current selection when receiving a handshake packet (for when the player joins and the previous session did not expire)
Fix indentation
Only enable CUI support when the message is valid.
Also the check if support isn't already enabled is not really needed, as it will just overwrite the field with the same value.
Improves CUI support.

1. Allows CUI handshake package to overwrite protocol version.
2. Sends the current selection on handshake.
3. Removed redundant SelectionShapeEvents.

Conflicts:
	src/main/java/com/sk89q/worldedit/regions/selector/ConvexPolyhedralRegionSelector.java
	src/main/java/com/sk89q/worldedit/regions/selector/CylinderRegionSelector.java