Java compliant main signature

Now, ```ReturnStatement``` knows if it has to return an object or ```void```. Based on this difference, the ByteCode generator is able to produce a ```RETURN``` instruction if the function has to return void.

At this time, only the function ```main``` toggle a void return ```ReturnStatement``` (cf ```ParseTreeToGoloIrVisitor#insertMissingReturnStatement```).

In terms of tests, I just checked that a Golo main function is properly translated into a Java compliant bytecode (ie: ```main([Ljava/lang/String;)V``` ) and the returned value is null.

Let's the reign of ```java -cp golo.jar ACompiledGoloModule``` begin \o/