added rough design for the main driver. refurbished the parser so it now
exports one single function that takes a string to parse and does all the
work for you, either returning an error string or a Config data file
containing a directly usable representation of the graph