In this commit I added a DestinationPointer variable that should be set
if the `Destination` should be configured as a pointer for a specific
flag type. It is expected that Generic type which is an interface will
not be a pointer but a struct. Before this change the code compilation
was failing with `type *Generic is pointer to interface, not interface`.
See https://github.com/urfave/cli/issues/1441
to alleviate problems caused by the circular dependency of using the
same code as a library that is potentially being generated to adhere to
a different API.