A Justice-Based Framework for the Analysis of Algorithmic Fairness-Utility Trade-Offs