add tests, reformat code, add an output variable in writing function. All reading and writing functions must read in windows-1252 encoding because original logs are windows-1252 encoded
we can now generate reports based on log files. Three reports are processed: n2 report, other report and general report combining the two previous reports. All reports would be available in the output directory.
`parse_log_file()` use `parse_log_line()` to transform a log file into a list of LogEntry. Log patterns are no use for LogEntry model since the only use of LogEntry is in other modules. Thus, log patterns are now in `parser.py`. Logs are now separated based on test use cases.