Use SetSelectedString for case-insensitive setting

When the value supplied doesn't match the value in the control, an exception
is thrown.  This is especially problematic when the input comes from the
query-string, and when the URL provider lower-cases the query-string

Closes #2