Fix create ClassDefinition function body parameter
Fix create ClassDefinition / InterfaceDefinition functions

Previously, the “listed arguments” syntax for the body didn’t actually
work, for two reasons:

1. There were other iterable parameters before the body (type parameters
   etc.), and the first “free” one is always selected
2. The parameter must be exactly Iterable<T,N>, so we had to remove the
   union with Body.
Add create Invocation{,Statement} functions
Add create parameter lists internal function
Add create FunctionDefinition function
Add tests for create Invocation{,Statement} functions
Add test for create FunctionDefinition function