Fix for codeplex issues 480 and 714
- Turkish 'dotless i' \u305 cannot be used successfully in a username with SimpleMembershipProvider in most collations.
- When using a Turkish database collation, usernames with either casing of 'i' or \u305 do not behave according to the correct language rules.

The root cause is that SimpleMembershipProvider mixes comparisons from a TSQL 'Upper' with a .Net ToUpperInvariant. TSQL 'Upper' follows the casing rules of the database's configured collation, whereas ToUpperInvariant uses a set of fixed rules for casing (and doesn't match the expected behavior in Turkish).

The suggested fix is to use TSQL to normalize the strings exclusively. The
impact on non-Turkish collations is that \u305 will be treated as
equivalent to 'i', but will allow the creation and display of usernames
that include \u305. In Turkish collations, the casing rules will behave as
expected in Turkish - \u305 will match with latin-upper-case-i, and
latin-lowercase-i will match with dotted-upper-case-i (\u304).