made compact the format of date and time when logging.
added a check against infinite loop.
removed completed TODO comments.
added synchronisation when updating global pieces array.
removed extra TODOs.
created a separate folder for header files.
refactored bf_logger into separate header and implementation files.
created separate header file for bf_logger.