[runtime] Make sure we use lower numbered signals on Android.
Android on 32bits arm shipped broken headers that made sigset_t be 32 bits instead of 64.
This means that it's not possible to use signals whose value are >= 32. The default implementation
uses RT signals when available (and they are on Android). But RT signals don't work as expected
as their value is >= 32.
This fix hardcodes some safe signals on Android and add asserts about their values to avoid regressions.
See
5005c6f3fbc1da584c6a550281689cc23f59fe6d for more details.