Adds the ability to pass a filter method for ZIP extraction

One piece of the external_archive change I am working on.  I briefly looked at adding this to TAR archives and it should be possible, but I don't need it now so I didn't add it.

Testing Done:
Added new unit test.
CI running @ https://travis-ci.org/pantsbuild/pants/builds/38752080

Bugs closed: 710

Reviewed at https://rbcommons.com/s/twitter/r/1199/
Sync of https://github.com/pantsbuild/pants/commit/b92023bd1ad98279bc6240afb1131909be81dedf