Features for real applications on grappalang

- UDAs in grappalang
- types in grappalang; includes scheme as std::tuple for tuples
- any number of columns for groupby and hash join

common changes for review:
- move `convertcondition`
- grow `FromFileCatalog`
- add support of more expressions to `ExpressionVisitor`
- `SwapJoinSides` applied to crossproducts
- grow `scripts/myrial` api
As per my previous comment: can this just be a dump struct?  We know the types and field names from the schema.