A Constraint Programming Model for Scheduling the Unloading of Trains in Ports: Extended