Simplify the argval code a bit.

Before, we were getting a stack pointer using a calculation that
doesn't make a whole lot of sense to me:

stack = (uintptr_t *)&fp[1]

where fp has type struct amd64_frame * and sizeof(*fp) is 24. Then the
first stack argument is at stack - 1, the second is at stack, and so on.
Why not just set stack to (uintptr_t *)(fp + 2)? Then the first stack
argument to dtrace_probe() is at stack, the second is at stack + 1, and
so on.

Keep the extra frame jump - it's still needed.
For received packets, use m->m_pkthdr.rcvif instead of a local variable.
This makes sure that we always get the receiving interface; otherwise
it's possible that control will jump past the initialization of the
local variable and we end up without the ifinfo.
Merge branch 'master' into 20130421-ip-provider
Merge branch '20130421-ip-provider' into markj-develop