Fix lint on packages with all generated files

A package with all generated files will reduce to a set with no
source files, which causes lint to panic on a nil-pointer dereference.
Move the conditional check for an empty package until after we
have checked the package for generated files.

Fixes #300
diff --git a/lint.go b/lint.go
index 5b85d8e..fb47da0 100644
--- a/lint.go
+++ b/lint.go
@@ -82,9 +82,6 @@
 // LintFiles lints a set of files of a single package.
 // The argument is a map of filename to source.
 func (l *Linter) LintFiles(files map[string][]byte) ([]Problem, error) {
-	if len(files) == 0 {
-		return nil, nil
-	}
 	pkg := &pkg{
 		fset:  token.NewFileSet(),
 		files: make(map[string]*file),
@@ -111,6 +108,9 @@
 			filename: filename,
 		}
 	}
+	if len(pkg.files) == 0 {
+		return nil, nil
+	}
 	return pkg.lint(), nil
 }