refactor(rand_string): Change rand_string to be strictly a list comprehension

Previously, rand_string depended on an iterator class RandChars to generate the random characters. The rationale for this change is two fold.
    
    1. Reduces code - less code, easier to maintain
    2. Increases performance - fewer function calls