Harvester improvements for grabbing rust sheet

* handle raw newlines
* don't print empty section heads
Make morph.hs warn of unused entries
Fix file handle stuff in Haskell