Path and macro fixes for Win32 systems.

* Need to undefine legacy 'near' and 'far' macros created in Windows.h
* Boost path::c_str() returns *wchar_t under Windows. Switched to path.string().c_str() to return *char.