add annotations for flags

cobra.Command can make use of annotation in order to generate better
bash_completions
diff --git a/flag.go b/flag.go
index 72165f6..5dc5373 100644
--- a/flag.go
+++ b/flag.go
@@ -147,6 +147,7 @@
 	Value     Value  // value as set
 	DefValue  string // default value (as text); for usage message
 	Changed   bool   // If the user set the value (or if left to default)
+	Annotations map[string][]string // used by cobra.Command  bash autocomple code
 }
 
 // Value is the interface to the dynamic value stored in a flag.
@@ -358,7 +359,7 @@
 // Like Var, but accepts a shorthand letter that can be used after a single dash.
 func (f *FlagSet) VarP(value Value, name, shorthand, usage string) {
 	// Remember the default value as a string; it won't change.
-	flag := &Flag{name, shorthand, usage, value, value.String(), false}
+	flag := &Flag{name, shorthand, usage, value, value.String(), false, make(map[string][]string)}
 	f.AddFlag(flag)
 }