Use proper detection of whether or not a node was matched.
Issue #4: Use chardet to determine each file's encoding and decode using
that encoding. Fall back to stripping smart quotes then trying again,
then fall back to decoding and ignoring invalid byte sequences.