quasiquotes refactoring

Fixes a number of bugs:
- SI-6837: pattern don't infer most specific types
- SI-6839: more standard instances of Liftable
- SI-6851: crash upon cardinality mismatch
- SI-6878: splicing list of Liftable fails

Refactoring and fixes:
- all tree construction and deconstuction is refactored using quasiquotes
- much improved error reporting for construction quasiquotes
- adds new liftables for Expr, TypeTag and improved liftable for Symbols
- minor bug fixes