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.
diff --git a/api_fetch.go b/api_fetch.go
index 5cfa2da..ef058c8 100644
--- a/api_fetch.go
+++ b/api_fetch.go
@@ -1,6 +1,7 @@
 package gophercloud
 
 import(
+ "fmt"
  "github.com/mitchellh/mapstructure"
 )
 
@@ -33,6 +34,11 @@
 
 	case "rackspace": 
 		variantMap = RackspaceApi
+
+	default:
+		var err = fmt.Errorf(
+			"PopulateApi: Unknown variant %# v; legal values: \"openstack\", \"rackspace\"", variant)
+		return Api, err
 	}
 
 	err := mapstructure.Decode(variantMap,&Api)