added missing headers
rewrote the logger; it no longer depends on boost::log
also renamed platform.h to preprocessor.h (planning to make a platform abstraction in the future)