Beginning to get string tokenizer working.
Reading line properly, now populate graph data structure.
Populating graph with string token results, but crashing on free().
Debugging crash, making graph better.
Now am assigning colors in recursive graph traversal function.  Not bothering to infer existence of nodes that aren't in first column of list.  Seems to work okay on sample data, also the 'tricky' data set in highest comment.

TBD make the free() calls work without segfaulting.
This was suggested by OffPiste18 as a tricky test case for greedy algorithms, works here.
Now handle some errors/unexpected input from the full list of departments offered by NarcissusGray (there are a couple of missing departments).  The total colors it requires is 6, is that optimal?