Commented about this on an outdated diff. I changed my mind about the `'ascii'` default. It is unfriendly to Python 3 which anticipates `utf8` to work by default. It looks like `encoding=None` is valid to pass to `io.read` so let's leave `None` as the fallback.

http://docs.python.org/2/library/io.html#io.open