Defer handling of if conditions within .irp to after the expansion

While the initial implementation in of .iflt and .irpc in
867337f38d did work for each of the constructs on its own, it
didn't work as intended for
libavcodec/arm/mpegaudiodsp_fixed_armv6.S, which used these two
constructs combined, which kind of was what that commit advertised.

This commit defers handling of all .if constructs within .irp
blocks and tries to handle them at the end, after the .irp has
been expanded.

I'm not sure if this interacts correctly with macros and other
things, but at least it seems to handle mpegaudiodsp_fixed_armv6.S.
Evaluate expressions in .rept
When fixing .unreq, don't print one instance immediately

When the .unreq is part of a .rept, both of them need to go along
with each other so that they end up at the right place in the repeated
output.
Explicitly check the $line variable in all conditions in parse_if_line

This avoids the hidden assumption that the parameter passed is
also available in $_.
Handle if conditions in .rept
Refactor handling of .set to a reusable function
Handle .set when expanding repetitions as well
Only replace symbols with their corresponding value if the symbol is defined

This avoids replacing a substring like x0123 in hex constants with
an empty string.
Simplify regexps for commenting out unsupported directives
Implement neon register aliases

The built-in arm assembler in clang doesn't support .dn/.qn
aliases, even if Apple's normal standalone binutils-derived as
supports them.
Change a stray tab into spaces
add aarch64/arm64 architecture

Use a different comment char since the internal assembler
in Apple's clang uses '@' as syntax element.
aarch64: translate GNU as style relocations for adrp/add
aarch64: add support for .req/.unreq

clang's internal assembler does not support this directive in Xcode 5
and Xcode 5.1.
Factorize code to be run on serialized lines

This simplifies running more code after all loops have been
unrolled/serialized.
Handle register aliases after unrolling loops

Register aliases can be set conditionally within loops as well,
so they should be evaluated only once the loops and ifs within
them have been handled.
aarch64: replace alias vector mov with orr

Xcode 5 and 5.1 both do not support the alias.
aarch64: append optional left shift to certain movi variants

Xcode 5 and 5.1 complain over the missing shift although it's optional
according to the reference manual.
aarch64: replace alias uxtl with ushll

Clang from Xcode 5 does not support uxtl.
aarch64: fix bsl|saddl2? for Xcode5

Clang from Xcode5 supports bsl/saddl2? only in an unofficial assembler
syntax. To avoid breakage with later versions or different assembler
gas-preprocessor.pl checks for the environment variable GASPP_FIX_XCODE5
before changing these instructions to the non-standard syntax.