This also bumps to fsnotify-0.4.2.0 and hfsevents-0.1.8, fixing some
events being ignored on mac (https://github.com/luite/hfsevents/pull/19),
which could make hledger-ui --watch more reliable (though I haven't
noticed that problem).
Previously, hledger could read CSV files containing non-ascii
characters only if they are UTF8-encoded. Now there is a new CSV
rule, encoding ENCODING, which allows reading CSV files with other
encodings.
This adds a dependency on the encoding library, which supports fewer
encodings than text-icu but does not require a third-party C library.
To avoid build issues on various platforms, we require version 0.10+.
This adds some use of the ImplicitParams language extension, required
by encoding's API, but only in a small code region.
This also changes the type of Reader's rReadFn; it now takes
a `Handle` rather than a `Text`, allowing more flexibility.