Fix handling of EOF in Python 3.x
Fix handling of UTF-8 args and files in Py 2.x

Two different issues:
  1) in Py 2.x decode() defaults to ascii rather than to utf-8
  2) in Py 3.x sys.argv args are strings rather than bytes
Fix ignore_case for non-ascii strings in Py 2.x
Merge pull request #2 from malor/fixes

- Fix handling of EOF in Python 3.x
- Fix handling of UTF-8 args and files in Py 2.x
- Fix ignore_case for non-ascii strings in Py 2.x