Support pointers in decoding

- support omitempty tag for pointer fields
- s/out/got/g
- s/exp/want/g