rP23831 introduced a "Unit+!Ship" preferred class for 'Hack' melee units. However, Preferred classes don't actually use MatchesClassList, and thus this resulted in no preference whatsoever.
This fixes that, and fixes the macemen / melee elephant while at it.
Reported by: Valirhant, snelius