Allow more control over CZNC singleton

When destroying CZNC is not equal to exiting the process, some more control over the status of the CZNC singleton instance is required.