Build with GHC 7.8

Nothing exciting here, just doing some cleanup while I get familiar with the code.  With these changes, it builds with `-Wall -Werror` on GHC-7.8.3 and GHC-7.8.2.

The tests enter an infinite loop / STM deadlock both before and after these changes, so I can't yet verify that the tests pass.  Planning to debug that next.