Fix NoExecutePermissionTest

Don't look for magic keywords such as [heap] or [stack],
as they aren't guaranteed to be present in /proc/self/maps.

Instead, determine the address of
1) a stack pointer
2) a heap pointer
3) an executable pointer

and check to see if they have the expected page permissions.

Bug: 16873288
Change-Id: I16f6066d1b5d26bc491e413de1d10e98aec9c81c
4 files changed