Conform XMP output with the XMP Specification.

Make it conform to XMP Specification Part 1.
Specifically respect the Note 1 §6.1 which asks for unique names and the
use of Arrays in case of multiple occurrences.
Add the hasAllFontsEmbedded significant property.
Formatting.
Merge pull request #485 from tledoux/goodxmp

Conform XMP output with the XMP Specification.