Revert "Revert "Prevent overflows for concurrent_start_bytes_ sum""

This reverts commit 83ba9b979d932a5b6430c1affd171429b70b6c3f.

It also fixes a bug exposed by the original CL, and cleans up a
couple of related issues:

- CheckConcurrentGCForNative was renamed to reflect the fact that
it does not just deal with concurrent GC.

- In the non-concurrent case, concurrent_start_bytes_ is not
meaningful; use target_footprint_ instead.

- UnsignedSum should use >= instead of > .

The middle one of these caused the test failures observed with the
previous CL.

Test: Build without read barrier, and ran with --runtime-option=-Xgc:SS

Change-Id: Iae004c453bf2cae2739df66b6797af4a792886fc
2 files changed