Caster Semenya can compete, says Swiss court