Fixing defines so macros get real implementations.

The macros from eif_macros.h aren't defined in some cases
unless you already define EIF_THREADS/EIF_POSIX_THREADS.
Adding ConcurrencyKit-based queue, fixing mutex usage.

The scope-based mutexes from C++11 scope's weren't large enough,
this is now fixed.