Support experimental option restart_groups

restart_groups takes a number (default 1).
The restart task will divide the app servers into the number
of groups specified. 1 means run all the restarts in 1 group.
2 or more groups will restart equal portions of the servers
serially, waiting for one group to finish before starting the
next group.