Refactored converting objects to strings and parsing them back.

I am not agree.
Friend is required to grant access to private members. Here no private members so no need in friend. Moreover QualifiedName is just a struct not a class.
I can understand using it at string class - such operator can be optimized with using private members. Also may be reasonable to add friend operator<< to the Node class because it has private members.

I am not removing it at all just put at another place - string_utils.h.