Assign public ip

Pulled out all the plugin additions and kept only the assignPublicIP changes. The spot instance stuff is in there too, but it's going to be removed anyways once we merge (or whatever we end up doing) with the main project.