A Robust Search-Based Approach to Project Management in the Presence of Abandonment, Rework, Error and Uncertainty