Overloading equalsIgnoreCase method with an extra Locale argument

Changes:
- Added overload for `equalsIgnoreCase` method with an extra Locale argument, that can be used to avoid false negatives in apps that support multiple languages.
For example in some languages the lowercase characters are different from the ones in English, so if you are using `equalsIgnoreCase` for some API related string transformations (assuming your API uses English as a default language), and you don't specify `Locale.ENGLISH` when you do so, the equals check may return false even if the strings are exactly the same before applying `toLowerCase`.