Remove duplicate commands from the command history

This got on my nerves today.

If you run the same command say 5 times from QS, you'll notice in Prefs > Catalog > Quicksilver > Recent Commands has the same command 5 times.

I just needed to implement an `isEqual:` method for QSCommands (I guessed that testing the `d/a/iObjects` for equality was enough, but correct me if I'm wrong). I used pointer comparison as opposed to `isEqual:` for the objects, since isEqual doesn't work nicely with `nil` (typically what the `iObject is).