Refactor TypeConverter to work better with arbitrary nested types

#bytes_to_{list,map,set} call #from_bytes instead of getting pre-resolved converters. This adds an extra method call, but it makes them work with UDTs.
Change some wording in the RowsResultResponse specs

Avoid calling UDTs "custom type", since they are only a special case of custom types.
Add support for UDTs nested in collections.
Move the custom type parsing to its own class

And rewrite it to handle nested types
Added support for decoding nested UDTs
Add UDT decoding to TypeConverter
Fix some bytes in a spec