Ferries have been either cancelled or disrupted on 29 out of CalMac’s 30 routes