Remove trivial destructors from lua_func types
Basic operator[] support for tables
Move type traits to its own header and clean up code using the traits
Add support for setting functions with operator[]
Add test cases for operator[]