break utils up

Utils structure was separated into ExtList and Pair structures, and
MapUtilsFn was renamed to ExtOrdMap
added higher order function fixedPoint

Construction of the epsilon closure of a set of NFA states is clearly
described by an iteration to a fixed point. Appel alludes to other
uses of this method in the chapter on parsing -- where the sets
nullable, FIRST and FOLLOW are computed as fixed points, so having an
explicit higher order function may be useful.