toHumanReadableTimePeriodWithWeeksAndDays() now always returns the largest part, as that is the whole reason for the method
Reuse the 'weeks' array key when combining with days.

Fixes a bug in toHumanReadableTimePeriodWithWeeksAndDays(). The new key was getting slotted in the end, and we require the correct potion for getting the largest part.
fix getting the largest part.

The parts array is now an associative array, so there is no 0 key. Instead just reset() it.