codecgen: use real type names if available before constructing name based on kind.
codecgen: use real type names if available before constructing name based on kind.

This will allow you perform codegeneration for types like:

  type Test struct {
    Tests Tests
  }
  type Tests []*Test

Fixes #68

ugorji/go,whyrusleeping/go-codec,sunvim/go,ugorji/go,ugorji/go,whyrusleeping/go-codec,sunvim/go,sunvim/go,whyrusleeping/go-codec