remove include guards, use pragma once. Refactored logging define to include subsystem code and log_enter and log_exit. VS2013 supports all stdbool and stdint etc.
formatted with clang-format with max columns set to 80