Perform extradata deduplication on add.

Checks all existing extradata keys and values to ensure that the set
that is being added doesn't already exist.
Merge pull request #18 from torque/extradata-dedup

Perform extradata deduplication on add.
Use FcFontSetSort rather than FcFontSetMatch

For whatever reason FcFontSetMatch sometimes returns something other
than the first result of FcFontSetSort, and every time they different
either FcFontSetMatch is wrong or they're both wrong.

Fixes collection of Adobe Jenson Pro and Arno Pro.
Use EnumFontFamiliesEx to try to find the correct match when fontconfig gives several options

Fixes collection of ITC Cheltenham, ITC Tiffany, Zurich, Delicious,
Jacoby, Segoe WP, Agilita LT, and a bunch of dumb improperly modified
fonts I have lying around.

Closes #1806.