adding StringExtensions.SplitBy and variants