Planning and Executing Robot Assembly Strategies in the Presence of Uncertainty