On Coresets for Fair Clustering in Metric and Euclidean Spaces and Their Applications