Make sure that all memory accesses are guarded.

This doesn't protect the fpreg reads completely. It's still possible to have
a bad address that has the first part in readable memory and the second part
in unreadable memory. Since none of the code android uses uses the fpreg
data, this should be okay.

Bug: 13946101

Change-Id: I9187b16d0427cbc8af6751cf0b8476ea2d1bfc38
Add aarch64 getcontext functionality.

Change-Id: I32912a85c0fd02bb5e45a9eb7deb2410ded352a9
Fix x86/x86_64 getcontext overflow problem.

The x86 getcontext code was writing past the end of the context structure.
Fixed this problem, and added a test to make sure that doesn't happen again.
In addition, the x86_64 getcontext was doing the same.

Bug: 14319200
Change-Id: Ia2e2e55fe5459d6c8f8257e787012546b77503c4