Support returning primitive values from native closures
Get rid of CallbackFunction.signature

Obtain the signature from the Reflection's Method instead. This is made to get
rid of CallbackFunction in the future at all, since it should be mapped
transparently to function pointers to be supported in closures
Huge refactoring of KotlinNative

Drop NativeValue interface, use plain JVM objects instead: primitive wrappers
for primitive types, jet/FunctionN classes instead of CallbackFunction, the
rest is unchanged. This helps to generalize type mapping between usual method
invocations and closure creations.
1