Clean up string validator docs, add missing tests, and perform minor renames

In cleaning up the string validator docs, I realized that we actually missed a lot of tests in the original implementation. I’ve added those tests and fixed some bugs that cropped up from them. I also:

1. Renamed `TWTPatternExpressionStringValidator` to `TWTWildcardPatternStringValidator`
2. Exposed the `pattern` property on `TWTWildcardPatternStringValidator`
3. Renamed `validatesCase` to `isCaseInsensitive` in `TWTCaseSensitiveValidating`
4. Renamed `TWTSubstringValidator` to `TWTSubstringStringValidator`. (I know this sounds stupid,
but it’s a subclass that users aren’t really supposed to create directly and is consistent with other naming conventions used throughout the framework.
5. Fixed some issues with the `TWTValidation.strings` file.

@jnjosh Please review.
Meaning, if you look at the documentation for the properties, it says what the behavior is when those are nil.