Previously by default the presence of a missing field in
a udt would result in an error reported. The Unsafe
mechanism could be used to ignore these fields.
This PR changes the default behavior to ignoring missing
fields and only reporting an error if Strict mode is used.
This approach is in line with the gocql.
Upstream merge
Add Session wrapper
With this patch we can now use gocqlx like:
```
session.Query(`SELECT * FROM struct_table`, nil).Get(&v)
```
instead of (old format):
```
gocqlx.Query(session.Query(`SELECT * FROM struct_table`), nil).Get(&v)
```
Signed-off-by: Michał Matczuk <michal@scylladb.com>