Reweighting Monte Carlo Predictions and Automated Fragmentation Variations in Pythia 8