Make sure statuses are set before unsetting them and check mode permission

This PR addresses a bug that occurs when you're trying to remove a status from someone that's higher than your current status, which the IRCd allows just fine. It also makes sure that the status is set to begin with, so you're not getting MODE commands unsetting a status that is not set.