Remove WithStack and WithMessage public functions

The refactoring to use withStack and withMessage types is useful enough
to land indepdently of exposing these helpers publically.
diff --git a/errors.go b/errors.go
index 915bbdb..d98f310 100644
--- a/errors.go
+++ b/errors.go
@@ -132,18 +132,6 @@
 	}
 }
 
-// WithStack annotates err with a stack trace at the point WithStack was called.
-// If err is nil, WithStack returns nil.
-func WithStack(err error) error {
-	if err == nil {
-		return nil
-	}
-	return &withStack{
-		err,
-		callers(),
-	}
-}
-
 type withStack struct {
 	error
 	*stack
@@ -205,18 +193,6 @@
 	}
 }
 
-// WithMessage annotates err with a new message.
-// If err is nil, WithStack returns nil.
-func WithMessage(err error, message string) error {
-	if err == nil {
-		return nil
-	}
-	return &withMessage{
-		cause: err,
-		msg:   message,
-	}
-}
-
 type withMessage struct {
 	cause error
 	msg   string
diff --git a/stack_test.go b/stack_test.go
index 2624e45..915d11f 100644
--- a/stack_test.go
+++ b/stack_test.go
@@ -155,12 +155,12 @@
 		"github.com/pkg/errors/stack_test.go",
 	}}
 
-	for _, tt := range tests {
+	for i, tt := range tests {
 		pc := tt.Frame.pc()
 		fn := runtime.FuncForPC(pc)
 		file, _ := fn.FileLine(pc)
 		got := trimGOPATH(fn.Name(), file)
-		testFormatRegexp(t, got, "%s", tt.want)
+		testFormatRegexp(t, i, got, "%s", tt.want)
 	}
 }