Fixed error handler in md5_create_mode and sfv_create_mode referencing
checksumFileOutput before it was assigned - closes #13 (
UnboundLocalError on creating an SFV file for a large directory structure /
https://github.com/OmegaPhil/animecheck/issues/13)

Subsequent error code review caught an invalid reference to file in
a crc32_hash_mode error handler.
os.walk error ignoring and invalid filename encoding fixes

Yet more unicode bullshit and the fact that os.walk completely
ignores all initial directory listing errors by default!!

Script now detects and warns user when directories can't be
hashed, and significant work has been done to detect and reject
files and directories with invalid bytes in their path (according
to unicode)
Fix invalid default encoding

Even with a UTF-8 locale, Python 2 under Debian returns ASCII as
its default encoding (...). This was responsible for breaking
unicode arguments and causing unicode errors when standard
filestreams were redirected to a file

Finally fixes #13 / https://github.com/OmegaPhil/animecheck/issues/13
Redo open_file now that I have more experience with encoding