PopulateApi return an error for unknown variant

Before this, you could pass any variant name you wanted and if it didn't
match "rackspace" or "openstack", then we'd return a blank ApiCriteria.
This would cause code that's trying to talk to, say, Compute, to get the
first service in the catalog, regardless of whether it's the one that
they wanted.
Merge pull request #176 from msabramo/PopulateApi_return_error_for_unknown_variant

PopulateApi return an error for unknown variant