Add support to detect arm vs armv6

There are two different versions of the ARM ABI depending on the TARGET_ARCH.
As these are sligntly different a package built for one may not work on
another. We need to detect which one we are on by parsing the .ARM.attributes
section.

This will only work on the ARM EABI as this section is part of the ABI
definition. As armv6 only supports the ARM EABI this is not a problem for
the oabi.

Older versions of libelf in FreeBSD fail to read the .ARM.attributes section
needed. As armv6 is unsupported on these versions we can assume we are running
on arm.