Add case and switch to hail expr

Inspired by http://docs.ibis-project.org/generated/ibis.expr.api.ValueExpr.case.html#ibis.expr.api.ValueExpr.case

Syntax:
switch takes a value and matches on equality:

(hl.switch(ds.vep.CSQ)
.when('LOF', ...)
.when('MISSENSE' ...)
.when('SYNONYMOUS', ...)
.default(...)

case does nested if/else:

(hl.case()
.when(ds.x < 5, then1)
.when(ds.x > 8, then2)
.when(ds.x == 5, then3)
.default(then4))