CString::Starts/EndsWith(): allow specifying case sensitivity
Add CString::Find() with case sensitivity support
Add CString::Contains() for convenience

This is more convenient and readable than comparing Find() to npos.
Introduce CString::CaseSensitivity

Use backwards compatible typedefs, so the old true/false syntax still
works. The typedefs are a bit more verbose, but encourage for writing
code that reads better:

if (str.StartsWith("foo", true)) { ... }
// vs.
if (str.StartsWith("foo", CString::CaseSensitive)) { ... }