use CodecBeanDeserializer as much as possible

previously was only doing so when a global default was found, but
it provides other features such as required fields, eliding nulls,
and Time/Bytes annotations. some of which may be possible to split
off, but we'll defer that for now.