Use the default parsers for more complex types.

Flag with types like (or null string) and (or null integer) are now
parsed using the built-in flag parsers.  Users who want such flags no
longer have to use a custom parser.

I don't recommend this style.  A string flag should always hold a
string.  Use the empty string as a default value.