Add Java 1.7 APIs: ZipFile, ZipInputStream, ZipOutputStream

Add constructor support for the character encoding to use.

When reading a ZipFile this is used for the file comment and for
entry names and comments when a zip entry is not self-described
as UTF-8 encoded.

When writing a zip file the character encoding determines the
encoding used for the file comment, entry names and comments.

The default for reading and writing when the character encoding
is not specified remains as UTF-8.

Additional fix:
ZipOutputStream: null comments no longer cause NullPointerException.

Change-Id: I7cadfa939377d0f87fd5503dae2a0b2dbac2ba39

Conflicts:

	luni/src/main/java/java/util/zip/ZipInputStream.java
	luni/src/test/java/libcore/java/util/zip/ZipInputStreamTest.java
	luni/src/test/java/libcore/java/util/zip/ZipOutputStreamTest.java