Split CWrapper's CFunction into two non-template functions.
Rewrite Error class and its derivatives.
Split StackOps<T>::Get into Check and Get.

That way we can use lua's longjmp without violating C++ object model and
without relying on C++ exceptions.
Fix clang build.
Minimalistic ManualError refactoring.
Rename potential longjmp functions to have lj_ prefix.
Small tweaks and add StackOps<T>::LJGet as an optimization.
Add is_pod check for funcdata type. It should be POD on all compilers.