Wait for debugger to attach

Execution stops right after load of either library or binary allowing a
debugger attach to it. This is useful when you can't start debugging via
the debugger but must attach to a live process. A typical use-case would be
when "bladerf" is forked by another binary.

To use this feature, configure it say for example for a 30 second execution
delay:
-DLIBBLADERF_WAIT_DBG_TIMO:int=30

For Linux hosts you then use the script gdb_wait_attach.sh to wait until a
specific process loads and catch it before it starts executing real code.
Technically process has initialized static variables. To catch the process
even earlier, _start has to be deployed which is not as portable nor easy to
use.
Getting rid of local variable

With certain compilation flags this generates a build error.
IsDebuggerPresent implemented

* Compatible with corresponding API in Windows.
* Regardless of attaching or starting from within debugger
Let IsDebuggerPresent return actual PID

This logically compatible, but functionally an extension that corresponding
Windows API does not have.