7 patches manually rebased from Ben's encoding branch 
This is not a strict rebase, since I already pushed parts of the first
patch "refactor text encoding" as 7 small patches , and removed some
comments hunks from "refactor text encoding" and the change in the help
of `darcs apply` that was unrelated.
Also in the patch "removed no longer needed iconv bindings" I added
hunks to remove iconv-related code from Setup.hs.
One patch I left out is "clean up display of file names by separating
display and storage of patches". Since with the current patches,all
tests pass, I think this last patch can come in a separate patch bundle.
(Also I haven't rebased it yet.)