Rearranging

Rearranged file structure to be more intuitive at first glance
Changed name of `impl.h` to `function_impl.h`
Added LuaNil and LuaTable classes with appropriate LuaTypeTraits
overrides