improved protection macros
mapped: use ASHMEM on Android

Rationale: shmget et al are not available on Android for x86.

Cherry-picked from the Flexible I/O tester:
https://github.com/axboe/fio/commit/239a11de15959849a69508ff7cb46be114599baf