SelectInput options as LinkedHashSet, MultiSelectInput allowedValues

SelectInput and MultiSelectInput types are changed to LinkedHashSet to ensure that order is preserved. When the static type is Set, a map can result in a new set which is not order preserving. Unfortunately this change means that external code that directly invoked the constructor with other types of sets will need to be updated.
MultiSelectInput is represented in Swagger as an array of strings with an enum of the allowed values.