On this site, we see a lot of questions from people who have sent a transaction which isn't being confirmed, often because they have neglected to include an adequate fee. The Satoshi client doesn't appear to offer a convenient way to handle this; the only advice to the user is either to wait indefinitely until the transaction is picked up by an altruistic miner, or to do some kind of elaborate hack involving replacing wallet.dat, etc, so that the client forgets the transaction ever existed.
The obvious solution from the point of view of the protocol is to produce and send a new transaction spending the same coins, but with a fee added. Since this would technically constitute a double spend, it's perhaps not surprising that client authors don't want to include such a feature; but all the same it would be very convenient in certain situations.
Are there any clients that provide this feature?
Alternatively, has anyone produced a patch adding this functionality to some client?