added support for gophercloud's PopulateApi

Currently different OpenStack api implementations require different hardcoded fields in the Gophercloud ApiCriteria struct, which limits Packer's ability to work with these varying Openstack implementations (currently it is hardcoded to only work with Rackspace).

This commit simplifies the packer OpenStack plug-in by allowing a user to specify their chosen OpenStack implementation via a string in the template, and gophercloud takes care of the rest (https://github.com/rackspace/gophercloud/commit/12bc4df91910b2fbae02df4a542e56137594a95e).