Improve detection of CloseGuard protected resource leakage

* Add CloseGuardMonitor to intercept and collate CloseGuard reports and if
  necessary throw an exception listing the resource leaks.
* Add ResourceLeakageDetector to abstract away the CloseGuardMonitor which will
  not work on RI.
* Add AbstractResourceLeakageDetectorTestCase as a base class for tests
  that need to detect resource leaks, in future this could be handled by
  modifications to Cts and Vogar test runners.
* Remove CloseGuardTester and its sole usage in ProcessBuilderTest.
* Remove CloseGuardGuard from within URLConnectionTest
* Change ZipFileTest, ProcessBuilderTest, URLConnectionTest to use new
  mechanism, fix issues that are identified and do some cleanup/remove
  duplicated code.

Bug: https://code.google.com/p/android/issues/detail?id=66383
Change-Id: Id026dbb6bc66091a15f07329e6371cd0d1f32cf5

Conflicts:
	dalvik/src/test/java/dalvik/system/CloseGuardMonitor.java
	luni/src/main/java/java/util/zip/ZipFile.java
	luni/src/test/java/libcore/java/net/URLConnectionTest.java
	luni/src/test/java/libcore/java/util/AbstractResourceLeakageDetectorTestCase.java
	luni/src/test/java/libcore/java/util/ResourceLeakageDetector.java
	luni/src/test/java/libcore/java/util/ResourceLeakageDetectorTest.java
Change ReferenceQueue order from LIFO to FIFO.

LIFO order of FinalizerReference.queue causes incorrect work of runFinalization().
runFinalization() creates a Sentinel finalizable object and waits for it to be finalized.
As FinalizerReference.queue is "last in, first out" the Sentinel object is placed at the
beginning of the queue and then gets quickly finalized. So the method returns, although
"older" objects (placed in the queue before the Sentinel) were not finalized.
Changing FinalizerReference.queue to "first in, first out" fixes the issue
because finalizable objects are added to the end of the queue and "older"
ones will be already finalized when it comes to Sentinel.
Please also see issue 37980.

Change-Id: Ie6bc96e6a3759bc36ce6586066052b6d6bbe8d52
Signed-off-by: Elena Sayapina <elena.v.sayapina@intel.com>
Make sure every struct has a toString.

Also add some missing finals.

Change-Id: I80a779d7340608d55d5ffcc73e2d411dc1bc1cc9

Conflicts:
	luni/src/main/java/android/system/StructGroupSourceReq.java
	luni/src/main/java/android/system/StructStat.java
	luni/src/main/java/libcore/io/StructTimeval.java
	luni/src/main/java/libcore/io/StructUtsname.java