Cruise ships hit by coronavirus outbreaks have quickly found themselves with no ports for thousands of passengers as countries on four continents have quarantined vessels or kept them at sea for days.