Use ELF for monkeypatching the vdso, fixes #1216

This patch series changes the way we monkeypatch the VDSO.  Instead of using hardcoded offsets for how the VDSO is laid out on particular systems, we consult the ELF information of the VDSO to figure out where everything is.

I think the `perform_monkeypatch` bits are flexible enough to accommodate x86-64 monkeypatching without changing the call signatures.