more functionality in UString

replace/append
more options for all methods
ensuring parameter types conform to expectations for every method
commented each method to explain functionality