x86_64 vararg support is not so simple.

This reverts 1e649422 and adds some extra cleanup/comments.