fix a invalid usage of GNU `strerror_r()`
fix a bug around in the call to `strerror_r()` in darwin target
add `backtrace` for `xerror.c`
add comment in `backtrace`
support for environment variables

- update bt_handler_gdb() to avoid using local stack
add a feature, ignoring some debug message from the pattern in `xerror` module
update environment variable configurations

- All error related env. var begins with "XERROR"
- All backtrace related env. var begins with "XBACKTRACE"
add `DIFFCLOCK` macro for `clock_t `
fix a segfault when LEX is null in `free_lexer()`
add feature; create temporary directory if not exist