Sweep only objects in the live stack in sticky-bit CC collections.

Reuse the same strategy used in sticky-bit Concurrent Mark-Sweep
(CMS) collections for sticky-bit Concurrent Copying (CC) collections
walk the live stack (which contains allocations made outside the
region space since the previous GC thread flip phase) and free
unmarked objects.

As a side effect, this change address a bug that used to trigger GC
crashes during a sticky-bit CC (young-generation) collection involving
an unreachable newly allocated object in the non-moving space with a
dangling reference to an object cleared or moved from a newly
allocated region of the region space.

Test: ART run-tests & gtests, libcore tests, JDWP tests (host & device)
Test: Device/emulator boot test
Bug: 67628039
Bug: 12687968
Change-Id: If5d94d854effdc8a614c1c3e3facb2221824aff2
diff --git a/test/knownfailures.json b/test/knownfailures.json
index 7322a35..9ade2b1 100644
--- a/test/knownfailures.json
+++ b/test/knownfailures.json
@@ -986,6 +986,7 @@
                   "678-quickening",
                   "679-locks",
                   "999-redefine-hiddenapi",
+                  "1000-non-moving-space-stress",
                   "1951-monitor-enter-no-suspend"],
         "variant": "jvm",
         "description": ["Doesn't run on RI."]