The Treatment of High Hardness Waters by Electrocoagulation: Factors Affecting Contaminant Removal, Electrode Fouling, and Precipitate Separation