Define `_XPG4_2` on SunOS

This brings `strcasecmp`.
Disable stack smashing protection on SunOS

Even despite linking with `-lssp`, building with stack smashing
protection on SmartOS causes:

    Undefined                       first referenced
     symbol                             in file
    __stack_chk_fail_local              build_sunos/crypto_AddressCalc_c.o  (symbol scope specifies local binding)
    ld: fatal: symbol referencing errors. No output written to ./privatetopublic
Link necessary libraries on SunOS
Migrate `Message_shift` calls to new API
Change `Except_raise` calls to `Except_throw`
Remove an unused `net/if_tun.h` include
Replace `net/if_tun.h` include with two `#define`s

Some illumos distributions (namely SmartOS) don't ship `net/if_tun.h`,
from which we only need those two IOCTL constants.
Ignore `build_sunos` directory
Store ~/.cjdnsadmin path in variable
Remove duplicate y/n code
Rewrote code to find cjdroute binary
Rewrote code to find cjdroute config
Stop creating/overwriting debug.log files
Add load_cjdroute_conf
Rewrite check if ~/.cjdnsadmin already exists
Use os.path.expanduser to detect home folder
Rename validjson function to cleanup_config
Move functions to the top
Use json shorthands
[contrib/lua] cjdlua util prints useful node information