Merge https://github.com/jessevdk/go-flags into merge-upstream
Added Marshaler/Unmarshaler interfaces

This adds support for customised marshalling and
unmarshalling of user defined types as options.
Fixes #32.
Added tests for unknown flags
Return error also when not printing it
Do not strip argument of unknown options

Fixes #36
Added missing conversions for int8 and uint8
Run go fmt
Convert time.Duration to proper string
Merge https://github.com/jessevdk/go-flags into merge-upstream
Merge branch 'merge-upstream'