[2] Return the unwind opcode after finalize and reset the assembler.
[2] Remove unused function in ARMUnwindOpAsm.
[2] Remove tricky offset for unwind opcodes.
[2] Track the unwind opcode size.
[2] Rename several unwind assembler function.
[2] Delay the usage of MRI until finalize.
[2] Emit the unwind opcode in reverse.
[2] Implement correct fp offset and multiple directives.
[2] Update the test cases for ARM unwind directives.

Compared with the object file generated by gas, the unwind
opcodes in eh-directive-pad.s and eh-directive-setfp.s
should be swapped.  The semantics remain unchanged.

Compared with the object file generated by gas, the sp offset
was incorrect in ehabi-mc.ll and ehabi-mc-section.ll.
[2] Add integrated test case for ARM unwind directive parser and assembler.
Refine the ARM EHABI test cases.

Since we have ARM unwind directive parser and assembler, we
can test the correctness in two stages:

1. From LLVM assembly (.ll) to ARM assembly (.s)
2. From ARM assembly (.s) to ELF object file (.o)

We already have several .s to .o test cases.  This change adds
some .ll to .s test cases and removes the redundant .ll to .o
test cases.

New test cases to test .ll to .s:

- ehabi.ll: Check the correctness of the generated unwind directives.
- section-func.ll: Check the section directives.

Removed test cases:

- ehabi-mc-cantunwind.ll
  (covered by ehabi-cantunwind.ll, and eh-directive-cantunwind.s)
- ehabi-mc-compact-pr0.ll
  (covered by ehabi.ll, eh-compact-pr0.s, eh-directive-save.s, and
   eh-directive-setfp.s)
- ehabi-mc-compact-pr1.ll
  (covered by ehabi.ll, eh-compact-pr1.s, eh-directive-save.s, and
   eh-directive-setfp.s)
- ehabi-mc.ll
  (covered by ehabi.ll, and eh-directive-integrated-test.s)
- ehabi-mc-section-group.ll
  (covered by section-func.ll, and eh-directive-section-comdat.s)
- ehabi-mc-section.ll
  (covered by section-func.ll, and eh-directive-section.s)
- ehabi-mc-sh_link.ll
  (covered by eh-directive-text-section.s, and eh-directive-section.s)