cql3: expr: move implementation of prepare_binop_lhs() to try_prepare_expression()
cql3: expr: move implementation of prepare_binop_lhs() to try_prepare_expression()

This unifies the left-hand-side and right-hand-side of expression preparation.
The contents of the visitor in prepare_binop_lhs() is moved to the
visitor in try_prepare_expression(). This usually replaces an
on_internal_error() branch.

An exception is tuple_constructor, which is valid in both the left-hand-side
and right-hand-side (e.g. WHERE (x, y) IN (?, ?, ?)). We previously
enhanced this case to support not having a a column_specification, so
we just delete the branch from prepare_binop_lhs.

scylladb/scylla,scylladb/scylla,scylladb/scylla,scylladb/scylla