x86-64: Fix stack frame alignment for stack arguments

Section 3.2.2 ("The Stack Frame") of the SVR4 x86-64 ABI states that:

  The end of the input argument area shall be aligned on a 16 byte
  boundary. In other words, the value (%rsp - 8) is always a multiple of
  16 when control is transferred to the function entry point. The stack
  pointer, %rsp, always points to the end of the latest allocated stack
  frame.

Unfortunately the JIT compiler does not take that into account for
arguments that are passed on the stack for x86-64. Fix the problem by
adding a new STMT_BEFORE_ARGS statement that aligns the stack pointer
properly and teach method_args_cleanup() to deal with the alignment.

Signed-off-by: Pekka Enberg <penberg@kernel.org>