Clean up Transition::Copy().

Clarify what's actually different about each switch case.
Human-readable versions of an Argument object.
Record field assignment base as an Argument.

In the statement 'base->field = value', record more information about the 'base'.
Bug fixes for debug mode.

I've not been seeing compile errors for debug mode because I'm now using `llvm-config --cxxflags` in CMakeLists.txt with a release-mode LLVM, so my CXXFLAGS contains "-D DEBUG [...] -O3 -DNDEBUG"!

After fixing my CXXFLAGS, I can see some compile errors that need fixing:
 * ASSERTION_FN_NAME -> INLINE_ASSERTION (changed awhile ago)
 * some signed/unsigned comparisons
 * comparing an OwningPtr to NULL