Fix overwriting default values of primitive types with zero values

The problem was reported here https://github.com/jessevdk/go-flags/commit/9036f017879e7671e4907948889c2db3c48bfa4e#commitcomment-6215670

My merged pull request https://github.com/jessevdk/go-flags/pull/67 broke overwriting of default values with zero values if the option is a primitive type.

Btw. I am wondering why an nil slice option is not initialized with an empty slice? As you can see in the test I have to manually initialize it so DeepEqual works properly. Should I work on that?