Use the latest version of minitest.

Now the real culprit of the random test failures has been fixed [1] we can use
the latest version of minitest.

[1] https://github.com/amco/rubyzip/commit/96f84aee4c575a0c886462abb809ef47e2866f94
Merge pull request #174 from hainesr/latest-minitest

Use the latest version of minitest.
Zip.unicode_names should be turned on in the unicode tests.
Add Entry#unicode_name?

This returns true if the entry has a unicode name, false otherwise.
Tidy up the unicode tests.
Set entry names encoding appropriately.

If we don't set this then we can't do things like file.exists?("Résumé.txt")
without specifically forcing it to ASCII-8BIT, which is unnecessarily clunky:

file.exists?("Résumé.txt".force_encoding("ASCII-8BIT"))

This is because entry names are always read as ASCII-8BIT even if the EFS bit is
set. This patch fixes that.

Tests added/updated to make sure that this works for both files and streams.