Walsall fell to their first home league defeat in six months after they were beaten 1-0 by Swindon Town at Bescot.