Fix warnings for duplicate int/string keys in collections

Summary: We recently started calling HashCollection::warnOnStrIntDup for both Maps
and Sets, but the message was specific to Sets. Fixed the wording.

The test for duplicate keys in HashCollection::warnOnStrIntDup was actually testing
the values; which was fine for Sets, but meant that we rarely issued warnings for
Maps. We only called warnOnStrIntDup if there were fewer elements in the result
array than in the original Map (ie only if there *were* duplicate keys). So we only
got a warning if there were both duplicate keys *and* duplicate values. Fixed it to
test the keys.

Reviewed By: @paroski

Differential Revision: D1436332