Sweep-Based Propagation for String Constraint Solving