Merge tag '0.19' into develop

Added missing file
Fixed error in determining can_be_null for joins
Fixed a error in type set intersect calculation and in tracking outer tables
Allowing result fields to be used as arguments for queries
A few minor fixes and cleanup
Added some tvin-tests
Moved shared result field code into separate file
Removed _name_t from and added alias operators to result field.

A result field really is just a value, if you insist on using it as a
select column, give it a name via an alias.
Extracted result_field_t from value types.

This is a preparation for adding serializer specializations for them
Added missing result_field.h
Added some hints
Moved value types out of detail namespace
Adjusted usage of wrong_t.

I think there was a risk of wrong_t based static_asserts firing, if the
template parameters are used. Anyway, this is shorter.
Added value_or_null method/type
Added generic boolean_expression
Fixed text field stream operator
Added serialization to MockDb run methods

Implicitly increased number of serialization tests.
Fixed serialization for logical_not
Added a first experimental fail test
Merge branch 'release/0.20'