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.
Add option to specify the incoming source for the public ports defined in the security group.
Merge branches 'launch-order' and 'custom-inbound-source'