ALDVersionSwitch: check ranges: max must be > min
ALDVersionSwitch: add messages to validation exceptions
ALDVersionSwitch: fix validate() to use array_key_exists instead of isset()

The difference is that isset() returns false on NULL values. While
these are indeed illegal, they are checked for in other conditions.
Using isset() here leads to confusing exception messages.