Using Joda time for date parsing and correcting alignment

it might cause serialization problems, but if we can, it would be nice to move the `DateTimeFormat.forPattern(dateFormat)` logic outside of the function, so we aren't recreating the same date time formatter for every row.