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.
Derp. Didn't I say the disease no longer exists?

If it doesn't exist, you can't exactly check whether it's permanent, or
decays. Oops.

This is still not a proper fix, but it'll at least not crash.
Merge branch 'pr/4792'