Respect ami_launch_index when iterating over instances launched.

EC2's RunInstances doesn't necessarily return the instances in ami_launch_index order. Thus if the first item in the list is not actually ami_launch_index == 0, then the instance assumed to be running OpsCenter is chosen later from public_ips[0] but it is not actually running OpsCenter. This fix ensures that the IPs are sorted by ami_launch_index.