fabric deploy only migrate if necessary	

Cuts out the length process of stopping all pillows and celery workers. Actual change is in 6fabf3e. Other commits relate to fabric upgrade which was required.

Tested by doing staging deploy

@dimagi/team-commcare-hq Upgrade fabric locally.

Changes related to fabric upgrade:
* `@roles` now accepts an iterable so no need for `*` in `@roles(*ROLES)`
* `sudo` now uses `env.sudo_user` by default
@czue I believe that this is the line that makes fab use `env.sudo_user` in `sudo` by default.