Fixed bug resolving deps

- Fixes cases where dependency can end up on imports list multiple times
- I think this fixes parsing top level packages even when now used
diff --git a/repo/installer.go b/repo/installer.go
index 867ed99..7040876 100644
--- a/repo/installer.go
+++ b/repo/installer.go
@@ -201,26 +201,38 @@
 	}
 	for _, v := range imps {
 		n := res.Stripv(v)
-		d := conf.Imports.Get(n)
+		rt, sub := util.NormalizeName(n)
+		d := conf.Imports.Get(rt)
 		if d == nil {
 			nd := &cfg.Dependency{
-				Name: n,
+				Name: rt,
+			}
+			if sub != "" {
+				nd.Subpackages = []string{sub}
 			}
 			conf.Imports = append(conf.Imports, nd)
+		} else if sub != "" && !d.HasSubpackage(sub) {
+			d.Subpackages = append(d.Subpackages, sub)
 		}
 	}
 	if i.ResolveTest {
 		for _, v := range timps {
 			n := res.Stripv(v)
-			d := conf.Imports.Get(n)
+			rt, sub := util.NormalizeName(n)
+			d := conf.Imports.Get(rt)
 			if d == nil {
-				d = conf.DevImports.Get(n)
+				d = conf.DevImports.Get(rt)
 			}
 			if d == nil {
 				nd := &cfg.Dependency{
 					Name: n,
 				}
+				if sub != "" {
+					nd.Subpackages = []string{sub}
+				}
 				conf.DevImports = append(conf.DevImports, nd)
+			} else if sub != "" && !d.HasSubpackage(sub) {
+				d.Subpackages = append(d.Subpackages, sub)
 			}
 		}
 	}
@@ -400,7 +412,6 @@
 // folder. It will attempt to get it from the remote location info.
 func (m *MissingPackageHandler) NotFound(pkg string, addTest bool) (bool, error) {
 	root := util.GetRootFromPackage(pkg)
-
 	// Skip any references to the root package.
 	if root == m.Config.Name {
 		return false, nil
@@ -498,7 +509,6 @@
 // is available.
 func (m *MissingPackageHandler) InVendor(pkg string, addTest bool) error {
 	root := util.GetRootFromPackage(pkg)
-
 	// Skip any references to the root package.
 	if root == m.Config.Name {
 		return nil
diff --git a/repo/vcs.go b/repo/vcs.go
index b2d471f..a5a2c97 100644
--- a/repo/vcs.go
+++ b/repo/vcs.go
@@ -36,7 +36,7 @@
 	}
 	updated.Add(dep.Name)
 
-	msg.Info("Fetching updates for %s.\n", dep.Name)
+	msg.Info("Fetching updates for %s.", dep.Name)
 
 	if filterArchOs(dep) {
 		msg.Info("%s is not used for %s/%s.\n", dep.Name, runtime.GOOS, runtime.GOARCH)