Untrusted server status

This pull request makes two changes to the way `CloudServersProvider` waits for a server to change status.

1. If the `TaskState` property is non-null, ignore the `Status` property.
2. Don't return until 3 consecutive polling attempts return the same `Status` value.