Support converting arm assembly to armasm syntax

This syntax is supported by the official arm tools and
by Microsoft's assembler.

This currently only supports microsoft's assembler, the
armasm assembler in RVCT requires a few more tweaks to
be able to build libav.

The preprocessing is done by invoking cpp (do we need to
be able to override this?).

The converted output is written to a file instead of using
a pipe, since Microsoft's armasm can't read the input from
a pipe.
Support running the preprocessor only, for deps
Support running the preprocessor only, for deps
Add a script for comparing the disasm of all asm files
Don't convert add to add.w when using gas
Don't remove dots for .Llocal symbols when using gas
Don't do literal restructuring when using gas