HSoM MUI update

Updated some of the text and all of the examples in HSoM.MUI.  The
examples are now fully up to date with the new MUI system; however, the
text still needs some work.  Notably, this chapter should be after
arrows are introduced.

In the process, I created some helper functions (like accum, unique,
etc.) and put them in Control.SF.AuxFunctions.
Partial fix for MUI space leaks

The MUI is being overly lazy causing some unintended space leaks.  This
fix addresses this by evaluating all left-hand-sides of arrow syntax to
weak head normal form.  Unfortunately, any unevaluated thunks inside
tuples will still not be evaluated, but this fix should ease much of the
problem for now.

A potential future fix involves using deepseq, but this will require
adding the NFData constraint to the streaming arguments of UISF.