Add Mingw support (tune libraries and disable cpuid with #ifdef)

As promised, here is the patch for basic mingw-64 compiler compatibilty.
Tested on http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/ , version 4.7.3

Compatible only with posix-threads-emulating releases (esewhere, no std::mutex)

Necessary changes:
 - Mingw have conflicting cpuid.h and intrin.h, so cpuid was disabled by ifdef.
 - Mingw did not have M_PI and WIN32 macro available
 - Mingw library finding is slow and tricky, It needs explicit specification for ``openmp`` (used by stxxl?) and ``winsock`` (for boost_asio). It also wants to see "using" library before "used", so luabind and lua was interchanged.

Mingw wants the specific order of libraries given to linker: http://www.mingw.org/wiki/The_linker_consistently_giving_undefined_references

luabind uses lua, so it is successfully linked only when options are -lluabind -llua , not vice versa.