Add GNU-variant support to the .a parser, and other improvements/tidyups