StringUtils: optimize Split(), new overloads for Split() and Tokenize()

This PR fix and optimize Split() function and add new overloads for Split() and Tokenize() for faster processing.
Tests are updated too.