Remove lj_check, the only place where it was used is lj_check_and_get.
Remove lj_check_and_get, it can be fully replaced with LJGet everywhere.
Remove lj_error, the only place it was used in is LJCheckAndDestroy.
Remove default Error* in many places.

It should exist only in public API, definitely not in private functions.
Use std::decay instead of homegrown quasicorrect thing.
Misc tweaks and fixes.