pass parameter by ref instead of by val:

- fixes coverity issue 1212009 Big parameter passed by value
make sure parameter is not negative

- fixes coverity issue 1198843 Argument cannot be negative
make variable names consistent, migrate Plugins
consequently use emplace back instead of push
Rename UUID->UUIDC to avoid conflict with windows.h
Fix includes for MSVC
Add basic shared memory support for Windows OS
Skip io benchmark building on Windows
std::string and char*-related fixes for MSVC
patch Ruby files for successful testing on Windows
Add more Boost libraries on Windows and .bat for testing
Fix for MSVC: use auto type for std::chrono::steady_clock::now()
Fix iterator checking assertions on Windows debug version
avoid unistd.h for MSVC
constexpr not supported by MSVC, added #ifdef