String::SubString() - now 2 overloads (1/2 args) instead of default param with end param (not fully backward compatible but assertions should catch errors