Break out ec2 create() into smaller functions

This makes it easier to start performing creation tasks asynchronously. It also stabilizes `salt.utils.cloud.bootstrap()`, making it available for other providers to use.