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.
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.
Revert "Change assertions to report_fatal_error."

This reverts commit f363c46bc5b5acf1a46f6730a9aec3c8114b392d.
Enhance the diagnostics for ARM unwind directives.
Refine the comments for $sp offset.