First round of cleanup

Cleaned up data structures code
Added random string and string array
Added full unit tests for above (100% coverage)