Fix getting copies of "struct" values from Lua to C
Fix getting copies of "struct" values from Lua to C

The existing implementation of cvalue_get() for "struct" values was completely
incorrect, and it would end up pushing values *into* Lua instead of getting
them from Lua back to C. This patch fixes that horrible mistake, adds proper
proper type checking (by calling the l_typecheck() function), and performs
a copy of the value to the destination address (which makes the operation have
the expected pass-by-value semantics).

aperezdc/eris,aperezdc/lua-eol,aperezdc/lua-eol,aperezdc/eris