The mysterious case of the disappearing disease.

It turns out that martial arts buffs are fully capable of removing themselves from the player's current diseases. This can be a little problematic when the code that iterates through diseases to apply them doesn't actually check that it's still iterating through valid parts of the disease vector.

Fixes #4790, but leaves in a possible case where some diseases might skip a turn to be processed (e.g. if a martial arts buff just got removed, the disease after it (if any) won't be noticed). Presumably there's a right way to iterate a vector whose elements might change out from under you; if not, player::rem_disease(string type) may have to just make a list and apply it *after* iterating the damn vector.