Removed unused code, which was mostly in VString and LinkedList
Replaced custom utlity classes with standard library equivalents since they don't add much more functionality and are more prone to bugs (VString -> std::string; LinkedList -> std::map, std::vector)
Replaced all new/delete with RAII classes (mostly std::string and std::vector)
Wrapped file handles in RAII class
Optimised slow LinkedList traversals by replacing with std::map of (lowerCaseStr -> str)
Wrote a more structured key-value tokenizer rather than tokenizing solely on double quotes