InvariantCulture is useful when comparing / sorting human language strings in a culturely correct way. It handles things like accented letters in a way that makes sense to humans (e.g., 'a' should be sorted next to 'á', rather than after 'z').
Ordinal looks just at the raw code points of the characters. As such, it is recommended for use in cases when comparing system strings (file paths, command line parameters, config settings, etc.). Since it doesn't need to use the culture specific sorting rules, this method can often be faster.
For more information, see https://stackoverflow.com/questions/492799/difference-between-invariantculture-and-ordinal-string-comparison (and other related questions)
Added a delete page with options to delete the local database, as well as the remote files.
Added a captcha to protect against automated attacks that would attempt to delete the remote files.
This fixes#1201
Changed: Switched to using ConcurrentDictionary to prevent "Collection
was modified" from occurring
Added: Simulated the 'old' race conditions so that unexpected situations
regarding unique keys not being unique act the same as they did before
Removed: Pointless ToList() calls as they do NOT prevent "Collection was
modified" exceptions from occurring in a multi threaded situation (it
just makes the 'window' smaller)