Fix ARM EHABI compact model 1 and 2 without handlerdata.

If the __aeabi_unwind_cpp_pr1() or __aeabi_unwind_cpp_pr2()
is used, then the handler data must be emitted after the
unwind opcodes.  The handler data consists of several words,
and should be terminated by zero.

In case that the .handlerdata directive is not specified by
the programmer, then we should emit zero to terminate the
handler data.
Update test cases.
Don't emit zero when .personality directive is available.