Redesign implementation of RegisterNativeAllocation.
Improve the performance and remove the issue with GCing apps to death when
they reach the growth_limit_.
This implements the REDESIGN approach described in detail in the
document at go/understanding-register-native-allocation.
Bug:
29156652
Bug:
32576211
Test: m test-art-host
Test: vogar libcore/luni/src/test/java/libcore/util/NativeAllocationRegistryTest.java
Test: Device boots.
Test: adb bugreport and look for "Registered native bytes allocated"
Change-Id: I09176b2b0e4f0c401fe1947830fa5271060f4e61