remove duplicate FQDNs in peer roles

Bug: 951283
Change-Id: I4d43bc8860dbeff47568232f72a4910890ca004d
Fixes problems importing naked distro tree.

Bug: 951981
Fix ordering for multihost recipes.

This _actually_ fixes ABBA deadlocks for 'clean' jobs

Bug: 889065
docs: mention outage due to dirty jobs in upgrade notes

Bug: 950922
Change-Id: Ia47938a4aed5fe50a33e3a0aa1f1809fd48148ea
skip unknown FQDNs in peer roles, instead of using 'None'

Bug: 952948
Change-Id: I296e74633b08cb12af5f100cd1b4c428d9534bc1
Merge changes I296e7463,I4d43bc88 into release-0.12

* changes:
  skip unknown FQDNs in peer roles, instead of using 'None'
  remove duplicate FQDNs in peer roles
fix completion notification for greenlets

The 'command' variable was bound to its last value in the loop, so we
were marking the wrong command as completed in case more than one
arrived at once. As a result, some commands would be executed twice.

This patch also adds a reproducer to the test suite, and some extra
sanity checking for command status changes (similar to the sanity
checking for task status added in 0.12.0).

Bug: 951309
Change-Id: Ic89c7fe6131e936128f2cb197c6c182e57c0fae1
Merge "Fix ordering for multihost recipes." into release-0.12
Merge "fix completion notification for greenlets" into release-0.12
Merge branch 'release-0.12' into develop