To answer the question about what current implementations do, I can speak
for ours:
Regarding erratum 1383, we responded to the consensus and allow "*"
anywhere, and more than once, in the "g=" value.
Regarding erratum 1378, we always include the "a=" in our generated
signatures and require them when verifying, treating their absence as an
error. I would have no problem changing this behaviour to favour what
section 3.3 says if that's consensus.
_______________________________________________
NOTE WELL: This list operates according to
http://mipassoc.org/dkim/ietf-list-rules.html