Fix parsing mixed encodings, add `--exclude` option

Transcodes everything to US-ASCII and strips away invalid or unsupported byte sequences. Unless the names of methods and classes themselves contain non-ASCII characters, this should be harmless.

Rewrite file finder, add `--exclude` option which defaults to `.git`.