Fix out-of-sync desired capacity
We would previously rely on calculating the existing desired capacity by how many instances were returned from the list. However, due to a delay between asking for instances and pending instances appearing in the list, this is not reliable.
Instead, we now track the size manually, and update it to check our expectation by fetching the desired capacity size via the API.