Make SetStateUnsafe run checkpoints before going to suspended

This prevents cases where we can get a checkpoint request in runnable
and then unsafe set to suspended. This was bad behavior since the
checkpoint may not be run in a timely manner.

Bug: 24191051
Change-Id: I73605c1a1154f67699f3902141f3232ab064793f
3 files changed