Use Type() instead of internal .(*stringValue)

This makes things easier to read/understand and it also means that users
who declare their own flags and call them "string" will get quotes as
well.
diff --git a/flag.go b/flag.go
index 81b3c1f..c99ccf3 100644
--- a/flag.go
+++ b/flag.go
@@ -387,7 +387,7 @@
 		if len(flag.NoOptDefVal) > 0 {
 			format = format + "["
 		}
-		if _, ok := flag.Value.(*stringValue); ok {
+		if flag.Value.Type() == "string" {
 			// put quotes on the value
 			format = format + "=%q"
 		} else {