Chase vsolver again

Should finally have a stably-ordered lock file, now.
diff --git a/glide.lock b/glide.lock
index 2b2225c..592bbf0 100644
--- a/glide.lock
+++ b/glide.lock
@@ -1,18 +1,18 @@
-hash: 99e6a11a55e3c1f9468ec71c1476197c53fc893c25038490b618f0501e1d8c90
-updated: 2016-06-22T21:18:31.254392336-04:00
+hash: 607480f548198f86c4f4a5946960053afa74db4cd2d5c62b51d5954470922d3a
+updated: 2016-06-24T15:23:14.128213581-04:00
 imports:
-- name: gopkg.in/yaml.v2
-  version: a83829b6f1293c91addabc89d0571c246397bbf4
-- name: github.com/Masterminds/semver
-  version: 0a2c9fc0eee2c4cbb9526877c4a54da047fdcadd
-- name: github.com/sdboyer/vsolver
-  version: e6c1195a646979f7cf0c6ae9c8034349a8e9ea03
 - name: github.com/armon/go-radix
   version: 4239b77079c7b5d1243b7b4736304ce8ddb6f0f2
-- name: github.com/termie/go-shutil
-  version: bcacb06fecaeec8dc42af03c87c6949f4a05c74c
-- name: github.com/Masterminds/vcs
-  version: 7af28b64c5ec41b1558f5514fd938379822c237c
 - name: github.com/codegangsta/cli
   version: 71f57d300dd6a780ac1856c005c4b518cfd498ec
+- name: github.com/Masterminds/semver
+  version: 0a2c9fc0eee2c4cbb9526877c4a54da047fdcadd
+- name: github.com/Masterminds/vcs
+  version: 7af28b64c5ec41b1558f5514fd938379822c237c
+- name: github.com/sdboyer/vsolver
+  version: 41ed3fc78392de9c882444546e038bf6724ca416
+- name: github.com/termie/go-shutil
+  version: bcacb06fecaeec8dc42af03c87c6949f4a05c74c
+- name: gopkg.in/yaml.v2
+  version: a83829b6f1293c91addabc89d0571c246397bbf4
 testImports: []
diff --git a/vendor/github.com/sdboyer/vsolver/analysis.go b/vendor/github.com/sdboyer/vsolver/analysis.go
index 2783cd6..4a463a8 100644
--- a/vendor/github.com/sdboyer/vsolver/analysis.go
+++ b/vendor/github.com/sdboyer/vsolver/analysis.go
@@ -63,27 +63,9 @@
 	// Set up a build.ctx for parsing
 	ctx := build.Default
 	ctx.GOROOT = ""
-	//ctx.GOPATH = strings.TrimSuffix(parent, "/src")
 	ctx.GOPATH = ""
 	ctx.UseAllFiles = true
 
-	// basedir is the real root of the filesystem tree we're going to walk.
-	// This is generally, though not necessarily, a repo root.
-	//basedir := filepath.Join(parent, importRoot)
-	// filepath.Dir strips off the last element to get its containing dir, which
-	// is what we need to prefix the paths in the walkFn in order to get the
-	// full import path.
-	//impPrfx := filepath.Dir(importRoot)
-
-	//frslash := ensureTrailingSlash(fileRoot)
-	//pretty.Printf("parent:\t\t%s\n", parent)
-	//pretty.Printf("frslash:\t%s\n", frslash)
-	//pretty.Printf("basedir:\t%s\n", basedir)
-	//pretty.Printf("importRoot:\t%s\n", importRoot)
-	//pretty.Printf("impPrfx:\t%s\n", impPrfx)
-	//pretty.Println(parent, importRoot, impPrfx, basedir)
-	//pretty.Println(ctx)
-
 	ptree := PackageTree{
 		ImportRoot: importRoot,
 		Packages:   make(map[string]PackageOrErr),
@@ -154,8 +136,6 @@
 		// paths are normalized to Unix separators, as import paths are expected
 		// to be.
 		ip := filepath.ToSlash(filepath.Join(importRoot, strings.TrimPrefix(path, fileRoot)))
-		//pretty.Printf("path:\t\t%s\n", path)
-		//pretty.Printf("ip:\t\t%s\n", ip)
 
 		// Find all the imports, across all os/arch combos
 		p, err := ctx.ImportDir(path, analysisImportMode())
@@ -163,7 +143,6 @@
 		if err == nil {
 			pkg = happy(ip, p)
 		} else {
-			//pretty.Println(p, err)
 			switch terr := err.(type) {
 			case *build.NoGoError:
 				ptree.Packages[ip] = PackageOrErr{
diff --git a/vendor/github.com/sdboyer/vsolver/remote.go b/vendor/github.com/sdboyer/vsolver/remote.go
index 6c9c781..37d95e4 100644
--- a/vendor/github.com/sdboyer/vsolver/remote.go
+++ b/vendor/github.com/sdboyer/vsolver/remote.go
@@ -33,7 +33,7 @@
 	// This regex allowed some usernames that github currently disallows. They
 	// may have allowed them in the past; keeping it in case we need to revert.
 	//ghRegex      = regexp.MustCompile(`^(?P<root>github\.com/([A-Za-z0-9_.\-]+/[A-Za-z0-9_.\-]+))(/[A-Za-z0-9_.\-]+)*$`)
-	ghRegex      = regexp.MustCompile(`^(?P<root>github\.com/([A-Za-z0-9][-A-Za-z0-9]+[A-Za-z0-9]/[A-Za-z0-9_.\-]+))((?:/[A-Za-z0-9_.\-]+)*)$`)
+	ghRegex      = regexp.MustCompile(`^(?P<root>github\.com/([A-Za-z0-9][-A-Za-z0-9]*[A-Za-z0-9]/[A-Za-z0-9_.\-]+))((?:/[A-Za-z0-9_.\-]+)*)$`)
 	gpinNewRegex = regexp.MustCompile(`^(?P<root>gopkg\.in/(?:([a-zA-Z0-9][-a-zA-Z0-9]+)/)?([a-zA-Z][-.a-zA-Z0-9]*)\.((?:v0|v[1-9][0-9]*)(?:\.0|\.[1-9][0-9]*){0,2}(-unstable)?)(?:\.git)?)((?:/[a-zA-Z0-9][-.a-zA-Z0-9]*)*)$`)
 	//gpinOldRegex = regexp.MustCompile(`^(?P<root>gopkg\.in/(?:([a-z0-9][-a-z0-9]+)/)?((?:v0|v[1-9][0-9]*)(?:\.0|\.[1-9][0-9]*){0,2}(-unstable)?)/([a-zA-Z][-a-zA-Z0-9]*)(?:\.git)?)((?:/[a-zA-Z][-a-zA-Z0-9]*)*)$`)
 	bbRegex = regexp.MustCompile(`^(?P<root>bitbucket\.org/(?P<bitname>[A-Za-z0-9_.\-]+/[A-Za-z0-9_.\-]+))((?:/[A-Za-z0-9_.\-]+)*)$`)
diff --git a/vendor/github.com/sdboyer/vsolver/remote_test.go b/vendor/github.com/sdboyer/vsolver/remote_test.go
index 9a5e1b9..10537ca 100644
--- a/vendor/github.com/sdboyer/vsolver/remote_test.go
+++ b/vendor/github.com/sdboyer/vsolver/remote_test.go
@@ -365,6 +365,20 @@
 				VCS: []string{"git"},
 			},
 		},
+		// Regression - gh does allow 2-letter usernames
+		{
+			"github.com/kr/pretty",
+			&remoteRepo{
+				Base:   "github.com/kr/pretty",
+				RelPkg: "",
+				CloneURL: &url.URL{
+					Host: "github.com",
+					Path: "kr/pretty",
+				},
+				Schemes: nil,
+				VCS:     []string{"git"},
+			},
+		},
 	}
 
 	for _, fix := range fixtures {