QUEUE_DATA used to cast a pointer to long and back to pointer. This can corrupt pointers on systems where the long type isn't large enough to store pointer, like Windows x64. This commit fixes that. Fixes #835
Squelch a warning about a cast from void* to another pointer type. It's legal C but not legal C++. Makes queue.h usable in node.js.
Avoids an extra #include in public headers and stops the ngx_queue_* types and macros from leaking into user code.