Add `cps-eval'

* module/language/cps/compile-rtl.scm: add function cps-eval.
Split compile-rtl.scm

* module/language/cps/compile-rtl.scm: remove functions not directly
  related to compilation.
* module/language/cps/util.scm: put them here.
Test tree-il->cps

* test-suite/tests/tree-il-to-cps.test: new tests.
* module/language/cps/cps-isomorphic.scm: supporting function for tests.
Bugfixes in cps-isomorphic

* module/language/cps/cps-isomorphic.scm: better error messages and a
  bug fix.
Test Closure Conversion

* test-suite/tests/cps-closure-conversion.test: test closure conversion.
* module/language/cps/closure-conversion.scm: some bug fixes.
Test cps->rtl

* module/language/cps/compile-rtl.scm: bugfixes.
* module/language/cps/primitives: a new table for primitive properties,
  used to represent variable arities.
* module/language/cps/util.scm: add `maybe-append'.
* test-suite/tests/compile-rtl.test: tests for compile-rtl.