Add slow rollouts overtime with smart default plans, and triggers to stop

Allow for a fleet owner to decide to slowly shift devices from one release to another. This would be an extension of the pinned release feature where all selected devices (maybe by tag) participate in a slow rollout over a configurable period of time.
Base features:
Configurable rate (i.e. 2 per minute, or 500 per hour)
Ordered based on name or custom tag, or random
Allow a fleet-wide variable to be an all-stop-cancel trigger. (i.e. a device writes STOP to a variable named rollout_switch and the rollout stops)
Allow a condition to be an automatic stop trigger (i.e. % percentage of devices go offline after receiving the update)