Handle invalid log string and refactor parsing
Add initial python hours normalizing

Initial hours normalization. Covers rounding hours down. Rounding hours
up to be added.