Implement AsmParser for ARM unwind directives.

This commit implements fnstart, fnend, cantunwind, personality,
handlerdata, pad, setfp, save, and vsave directives.
Switch section after ARM unwind opcode is emitted.

We should switch the section to the text section defining
the function.  Otherwise, the continuing function will be
emitted in the .ARM.exidx section, which is incorrect.
Add testcases to test combinations of .section, .fnstart, and .fnend.
Add testcase for comdat section with unwind opcode.
Add testcases for ARH EHABI compact model.
Allow different combination of .personality, .handlerdata, and .fnend.
Fix the order of ARM unwind opcode to pop GPR registers.

The unwind opcode to pop r[3:0] should comes before the
unwind opcode to pop r[15:4].
Change assertions to report_fatal_error.

With the support of the ARM unwind directives, these
assertions may fail in the ill-formed assembly.  We should
check them even if the assertions are disabled.