Fix inconsistency in LoggingPrintStream.

LoggingPrintStream prints "null" for null strings from
print(String) but throws an NPE from println(String).

Fix this by delegating to the underlying builder (and avoiding
the "fast" path when the input String == null)

bug: https://code.google.com/p/android/issues/detail?id=63380
Change-Id: I89c5c12db6ed5af8037d46f67369b38c5b4cbc9f
Reimplement ZipFileRO in terms of libziparchive.

This lets us share zip archive processing code with both
the runtime (Art, dalvik) and critical java code
(StrictJarFile).

This change also moves several utility methods to ZipUtils
and dedups code across several zip inflation methods.

One of the side effects of this change is that several
processing loops are now O(n) instead of O(n^2).

bug: 10193060

Change-Id: I3c7188496837a47246c4f342e45485a70fef3169

Conflicts:
	cmds/bootanimation/BootAnimation.cpp

 Author:    Narayan Kamath <narayan@google.com>
 Changes to be committed:
	modified:   cmds/bootanimation/BootAnimation.cpp
	modified:   cmds/bootanimation/BootAnimation.h
	modified:   core/jni/com_android_internal_content_NativeLibraryHelper.cpp
	modified:   include/androidfw/ZipFileRO.h
	modified:   include/androidfw/ZipUtils.h
	modified:   libs/androidfw/Android.mk
	modified:   libs/androidfw/Asset.cpp
	modified:   libs/androidfw/AssetManager.cpp
	modified:   libs/androidfw/ZipFileRO.cpp
	modified:   libs/androidfw/ZipUtils.cpp
	modified:   libs/androidfw/tests/Android.mk
	renamed:    libs/androidfw/tests/ZipFileRO_test.cpp -> libs/androidfw/tests/ZipUtils_test.cpp
	modified:   tools/aapt/Android.mk