Add Difference Operators To Dict

It’s not an hard constraint. Instead of doing d - other_d we have to write d - other_d.keys(). It enforces strong typing, avoid confusion about the role of other_d values and improve performance, because you know that the RHS is formed by unique, hashable objects. For any other iterable, instead of writing d - it we can simply write d - set(it).

On the other hand, if we allow dict - iterable, why not extend this to set?