Prototype skipping the `SelectableExpression` check for the `DefaultSelection` type of joins
Prototype skipping the `SelectableExpression` check for the
`DefaultSelection` type of joins

This commit introduces infrastructure that allows to skip type checking
the `DefaultSelection` of joins. #3223 discovered that this is
responsible for a substantial amount of compile time for larger
joins/codebases. We do not need to check this constraint there as it is
always true because each of the tables/sides of the join already have an
valid `DefaultSelection`. Therefore the resulting `DefaultSelection`
must be valid for the join too (if there is no bug in diesel itself).

diesel-rs/diesel,diesel-rs/diesel