add reference counting funcs for string library for easier manipulation

add a set of string methods similar to the originals but with with rc in the name like, string_rcf() which would stand for reference counted. These set of methods would work so that you can do things like this

string_rccat(string(""), string_rcf(NULL, 10, "%d", 20))

and then not have any memory leaks because it would have deallocated the string from string_rcf