AppProcessKillerReceiver
Kills the main app process from a separate :kill process so Android treats it as an external kill — preserving the task back stack in recents — rather than a self-kill, which clears the task.
Uses goAsync to keep the receiver alive long enough for the delay before the kill.