Fix newlines in FunctionN generator

Use println() instead of print('\n')
Refactor GenerateTuplesAndFunctions

Introduce FunctionKind enum to store differences between functions and
extension functions (and possible future function-like classes)

Also remove some useless checks
Regenerate FunctionN and ExtensionFunctionN classes

GenerateTuplesAndFunctions now also generates Java classes in runtime/src/jet/
directory, and they have the matching declarations to those in
compiler/src/jet/

Delete ExtensionFunctionN's protected constructor, as it wasn't needed

Delete toString(), a more useful version will be implemented soon
Make FunctionN interfaces

FunctionN and ExtensionFunctionN are now interfaces, with the corresponding
implementations in FunctionImplN and ExtensionFunctionImplN

Update test data
Use FunctionImplN instead of FunctionN in codegen

Superclass of closures should now be FunctionImplN instead of FunctionN. Since
these -Impl classes are needed only in JVM, the corresponding descriptors and
types are created in the back-end only.

Also local declarations are now generated with public visibility (instead of
package local) since local function objects now implement FunctionN interface
and the implementation of the method 'invoke' should be public to match the
method in the interface.