Topic/language features

Three parts:

- added language feature mechanism (first commit)
- added auto-tupling, can be disabled by language feature noAutoTupling
- added approximated lubs, can be disabled by feature keepUnions.