Add .filter for Rep Options

- Enable more tests

- Check in expandSums that GetOrElse is not called on non-primitive
  Option values. In the Lifted Embedding extension methods we can
  enforce that it is only available for Options of primitive colum
  types as seen at the call site but that does not prevent it from being
  called inside a HOF like .map which translates it to an operation
  on a non-primitive Option.

- Replace ConditionalExpr and IfThen by IfThenElse. The special Option
  type handling is now done in directly in Case so that it does not
  interfere with typechecking of IfThenElse in more complex scenarios
  (like in the new .filter method).