[feaLib] Allow mixed single/multiple substitutions
[feaLib] Allow mixed single/multiple substitutions

A multiple substitution may have a single destination, in which case
it will look just like a single substitution. So if there are both
multiple and single substitutions, upgrade all the single ones to
multiple substitutions. Previously we would just give an error message
in the builder and abort, which means certain valid OpenType lookups
can’t be represented by feature files.

This is the same logic implemented by FontForge (actually the
explanation above is almost copied verbatim from its source), makeotf
does not do this AFAIK but I consider it a bug not a feature.

Fixes https://github.com/fonttools/fonttools/issues/612

fonttools/fonttools,googlefonts/fonttools