More candy from Hush

* We're avoiding mutability a lot in Hush, which would explain some of
  the seemingly trivial categories on dictionaries.

* The usefulness of each of these in a generic sense is open to debate
  if the reviewer considers these to be too specific to Hush.
> Isn't NSDictionary a consortium of classes and an isKindOfClass check risky?

AFAIK, the `isKindOfClass` check is the recommended, and the only, way to check if an object is a dictionary. All classes belonging to the consortium are supposed to be subclasses of `NSDictionary`.

> You should use conformsToProtocol:NSFastEnumeration and simply do a for-in loop with recursive call to the same method instead of create two methods that essentially do the same thing.

I'm sorry, but I didn't understand the alternative that you are suggesting. The for-in loop will have different semantics depending on if it is an array or a dictionary (subscript by index vs subscript by key), so we'll need two methods anyways, right?