Change FinalizerWatchdogDaemon to not hold objects live

Previously, waitForFinalization would hold whatever object was being
finalized live for MAX_FINALIZE_NANOS even though the finalizer on
this object was run much earlier. This caused a test to be flaky since
it was assuming that the JNI weak global reference of a recently
finalized object wouldn't be held live.

Bug: 17305633

(cherry picked from commit 6ba680664fa14a547543a8c63708543ea8072680)

Change-Id: Ide60db55190a3764c16e4919a7c71a113cbf3968
Merge "Change FinalizerWatchdogDaemon to not hold objects live"