[WIP] add extra string handling functions

This is WIP, I'm just putting this in a PR so other people can look and give suggestions.

ref: #859
Hehe, these are by far my most common errors and I make them every time, will fix if this ever gets into mainline (i.e.: gets support from other people who also think it's a good idea).