Move functions shared with plow into rover section.

This is in preperation to more formally share these in the future. The
function to get server IP's is also now more resilient to changes in EC2
configurations and handles deployments to instances with and without
subnets.
Handle longer SSH timeouts after provisioning.

As new instances can take a minute to spin up the SSH services we're a
bit more patient with them and give them a few minutes to respond.
Merge pull request #19 from MarkBennett/collect-functions-shared-with-pave

Collect functions shared with pave