Best Practices for Adjoint-based Shape Optimization of Turbomachinery Stages