build: MSVC no warnings in `node` target

Enable "Treat warnings as errors" on msvc targets

Removed/Silenced:
4005 - about redefinition of `PLATFORM` symbol
4996 - For the visible future I don't think we should be worried about the change in semantics of  `GetVersionEx`
4291 - for the `new` operator that has non side effects in FSReqWrap ```void *node::FSReqWrap::operator new(size_t,char *)```

align macros between dtrace and ETW removes warnings:
NODE\SRC\NODE_DTRACE.CC(180) : warning C4002: too many actual parameters for macro 'NODE_NET_SOCKET_READ'
NODE\SRC\NODE_DTRACE.CC(196) : warning C4002: too many actual parameters for macro 'NODE_NET_SOCKET_WRITE'

Explicitly cast everywhere else
I took it a step further, and added explicit casts at those points.
For your review.