Add SwatString::getTimePeriodParts()

Breaks getHumanReadableTimePeriodParts() into two methods:
 * getTimePeriodParts() keeps all the logic of defining the $interval_parts you want returned, and calculating them.
 * getHumanReadableTimePeriodParts() is rewritten to use getTimePeriodParts() internally, but maintain old behaviour.

Using getTimePeriodParts() means you can keep the benefits over a straight DateInterval, without being forced to use getHumanReadableTimePeriodParts() strings.
Cleanup docs on getTimePeriodParts()
Cast days and weeks as int to match the other date parts returned.
Add weeks back to getHumanReadableTimePeriodParts() and fix days.

It was lost in the refactoring that added getTimePeriodParts().
Merge pull request #30 from isaacgrant/time-period-parts

Add SwatString::getTimePeriodParts()