Ignore duplicate mappings

Two implementations.
* The first one assumes that anything with the same generated location is a duplicate.
* The other one does a full comparison.

I personally prefer the simpler implementation, if you can rely upon the mentioned invariant. But then again, who knows what kind of crazy corner cases may show up in the wild.

Or should differing mappings with identical generated locations be errors?

I tried to follow the prevailing coding style, but I couldn't resist giving `strcmp` its rightful name.

This should fix #21, assuming the added test is sufficient.