Replace hardcoded testing for availability to runtime testing for queues

Straight forward runtime check instead of compile time check to decide which queue macros to use on what OS.

Solves https://github.com/CocoaLumberjack/CocoaLumberjack/issues/297