debuginfo: Create debuginfo for for-loop variables again.
debuginfo: Clean the debuginfo module up a bit.
debuginfo: Add test case for destructured for-loop variable.
auto merge of #20167 : michaelwoerister/rust/for-loop-var, r=alexcrichton

... really this time `:)`

I went for the simpler fix after all since it turned out to become a bit too complicated to extract the current iteration value from its containing `Option` with the different memory layouts it can have. It's also what we already do for match bindings.

I also extended the new test case to include the "simple identifier" case.

Fixes #20127, fixes #19732