Clean up var.illegal_joins during !start, fix related !join bug

This patch fixes a bug in !join that caused new entries to be created in
the var.illegal_joins dictionary for every joining player because of a
missing check to see if the player's cloak is in the dictionary at all.

It also adds logic to !start to remove entries from the
var.illegal_joins dict if they currently have a value of 0, since these
entries are no longer relevant.

These changes together make !eval var.illegal_joins far more useful for
getting a list of *just* stasised players.