Speed up u-/l-cfirst for UTF8
Make u-/l-cfirst handle empty strings
Merge pull request #5445 from garborg/master

Update ucfirst, lcfirst