Added "colorflag", "get_roots" to digraph.h, "fill" to dynarray

"colorflag" defines a type for colored [WHITE, GREY, BLACK] flags [to
be used to implement topological sorting]. "get_roots" finds all nodes
in a given graph that have no incoming edges, and "fill" for dynarrays
appends a given number of copies of a given value to the end of a
dynarray. Also added a new test, and updated some thought on type
inference. [MONSTER COMMIT. BWAHHHHHHHHH]
topological sorting has landed [sorta]

in the current state, topo_sort has a heisenbug... sometimes, it works
perfectly! ... sometimes... it segfaults... guessing that unsafe
implicit typecasting is to blame...
Eliminated undefined behavior from get_roots.
Silly follow-up... adding a .gitignore...