Decode custom types in metadata
Add an integration test for reading and writing UDTs
Parse and decode UDTs
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
Add support for encoding and decoding custom type values

They will be decoded as byte strings, and are expected to be passed in as byte strings
Clarify a RowsResultResponse spec
Add support for nil UDT values
Fix the encoding of nil valued collections
Include the collection type when raising errors about the value not being enumerable
Refactor the UDT encoding tests
Refactor the type encoding specs

Extract a function that takes a type and a value and returns the encoded bytes
Sprinkle some DSL on the encoding specs
Merge branch 'user_defined_types'
Make it possible to enable encryption