change-1: hook to hooks; support multiple hook. change-2: support if_fatal::(none|exit|quick_exit|exception) and fix throw in dtor pattern.