Move special convert cases up
Move special convert cases up

This is needed for types which are aliases to primitive
types because otherwise they are simply caught in
the main switch. time.Duration is an example of this.
sourcegraph/go-flags,FactomProject/go-flags,svent/go-flags,FactomProject/go-flags,cmars/tools,cmars/tools,jessevdk/go-flags,abates/go-flags,sysbot/go-flags,abates/go-flags,jessevdk/go-flags,sysbot/go-flags,conseweb/go-flags,zenoss/go-flags,cmars/tools,svent/go-flags,cmars/tools,sourcegraph/go-flags,fuchsia-mirror/third_party-github.com-jessevdk-go-flags,conseweb/go-flags,fuchsia-mirror/third_party-github.com-jessevdk-go-flags,zenoss/go-flags