Add more tests for return statement
Fix problem in bytecode gen when returning multiple values

The implementation was wrong because, in case of a single formal
argument like:

> return ...

the rule expr_toanyreg was invoked thus forcing a single value return.

With this fix the method expr_tomultireg is always invoked. The only
exception is when a single local variable is returned. In this case we
avoid expr_tomultireg to emit more optimal bytecode closer to luajit.