refactor out WIN32 tests from code

This gets rid of all the platform-dependent #ifdef stuff and
migrates it into the new lws-plat-xxx.c files.

These are then included in a one-time test in libwebsockets.c
according basically to Windows or not.

The idea is from now on, all Windows-specific code should go in
lws-plat-win.c, where any kind of Windows perversion like DWORD
is fine.

Any new functions going in there should be named lws_plat_...
and be defined in all the lws-plat-xxx.c file (currently just
win32 and unix platforms are supported).

Signed-off-by: Andy Green <andy.green@linaro.org>
refactor out most NO_EXTENSIONS

Signed-off-by: Andy Green <andy.green@linaro.org>
plat change to build selection by cmake

Signed-off-by: Andy Green <andy.green@linaro.org>
changelog add info about cmake needing clean build dir sometimes

Signed-off-by: Andy Green <andy.green@linaro.org>