Filter 'large' files, up to a size threshold (fixes #2)

Also adding charset-aware code, in the hope that the BFG will correctly
deal with (and not corrupt) non-UTF8 files... the tests for the encoding
were very valuable in getting this to a working state!

Note that the ICU library used for detecting charset encoding is
compatible with the GPL:

http://userguide.icu-project.org/icufaq#TOC-How-is-the-ICU-licensed-