add Hand.isSoft and tests