Move dependencies to the gemspec and lock down versions.

Development dependencies should go in the gemspec when using a Gemfile. Versions
are locked down to prevent failures creeping in as dependencies are updated (so
long as they play nice with semantic versioning). An example of this is the
minitest gem; see issue 164 (https://github.com/rubyzip/rubyzip/issues/164).
Update tests to use the minitest 5.x API.

MiniTest::Unit::TestCase -> MiniTest::Test
MiniTest::Unit.after_tests -> MiniTest.after_run
Clean up local_entry_test.rb generated files.

Now force file generation into the test/data/generated directory where other
such files go so tests are cleaned up properly.
Clean up deflater_test.rb generated files.

Now force file generation into the test/data/generated directory where other
such files go so tests are cleaned up properly.
Clean up emptyOutDir generated file.

Now force file generation into the test/data/generated directory where other
such files go so tests are cleaned up properly.
Clean up okToDeleteMoved.txt generated file.

Now force file generation into the test/data/generated directory where other
such files go so tests are cleaned up properly.
Clean up output_stream_test.rb generated files.

Now force file generation into the test/data/generated directory where other
such files go so tests are cleaned up properly.
Clean up and disambiguate extEntry generated file.

Now force file generation into the test/data/generated directory where other
such files go so tests are cleaned up properly.
Clean up test/dummy.txt generated file.

Now force file generation into the test/data/generated directory where other
such files go so tests are cleaned up properly.
Clean up .gitignore file.

Loads of stuff in there that no longer needs ignoring.
Don't use deprecated File.exists? in tests.
Remove unused variable 'comment' in file_test.rb.
Fix #171
Allow rbx to failure
Merge remote-tracking branch 'upstream/master'

* upstream/master:
  Allow rbx to failure
  Fix #171
  Remove unused variable 'comment' in file_test.rb.
  Don't use deprecated File.exists? in tests.
  Clean up .gitignore file.
  Clean up test/dummy.txt generated file.
  Clean up and disambiguate extEntry generated file.
  Clean up output_stream_test.rb generated files.
  Clean up okToDeleteMoved.txt generated file.
  Clean up emptyOutDir generated file.
  Clean up deflater_test.rb generated files.
  Clean up local_entry_test.rb generated files.
  Update tests to use the minitest 5.x API.
  Move dependencies to the gemspec and lock down versions.
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.