Infrastructure Enhancement

* All: Added the dependency on Boost.Program_options.
* All: About the feature that manages environment variables, supported both CHAR and WCHAR. Especially at the unmanaged API, using Unicode is always true with or without the definition of _UNICODE.