Harden Lua => SV conversion somewhat against Lua coroutines

In a nutshell, a lua_State can be either a real Lua interpreter OR it
can be a Lua coroutine ("thread") that is tied to a Lua interpreter.
For some bits of the API, this makes sense because you can use them
interchangably, for others, this is pretty daft as the two are NOT
interchangable.

The lua_State that we need to stash with PLua::Table and PLua::Function
objects needs to be the real interpreter. If we're currently running
Lua code, possibly within a coroutine, then the lua_State passed into
the C closure that converts Lua values to SVs
(S_plu_lua_to_perl_lexical) may be the currently executing coroutine
object. In Lua 5.1, it's not possible to get the real interpreter object
from a coroutine that lives within the interpreter object (grr!), so
what we do instead is that we create an additional upvalue when
registering the S_plu_lua_to_perl_lexical C function with Lua. That
additional upvalue will contain the real Lua interpreter.

If this seems hacky to you then that's because it is. Thanks to Rob for
figuring this out at all - I had no idea! Alternative (possibly more
efficient) solutions welcome.

This may actually not address all problems. As soon as we start being
able to call Perl code from Lua, we can flip-flop between the two
languages and then coroutines become even more interesting.
Specifically, Rob already pointed out that the coroutine (lua_State)
that is used to actually invoke a Lua function from Perl will likely
have to be the coroutine that was running when the Lua function was
captured (IIRC!). So that might require stashing two lua_State pointers
in plu_function_t structs: One for the real interpreter and one for the
coroutine context for the function to execute in. That is NOT done yet.
I would appreciate a test case that exhibits this as a bug so that I can
test my assumptions and lack of thorough understanding with it.
Math::Derivative benchmark

O(n) algorithm, so not even going to be the emphasizing the Lua execution
speed that much.
Remove dead FIXMEs
Balance Lua stack in certain exception handling code
More exception stack asserts
More To Do