Enable staged rollouts

Enable release strategies like phased rollouts to allow for safer deployments across a fleet by dividing a deployment into customizable phases.

For example, users would deploy a new release to 5% of their fleet, wait for a while, then incrementally deploy to more devices, or roll back in case of problems.

This is complementary to Enable release channels: you could imagine having multiple channels (for example dev, beta, prod), each having its own rollout strategy.