From Facts to Foils: Designing and Evaluating Counterfactual Explanations for Smart Environments