Fix humanize

Fix for #1620

There are a few things going on here

[x] Create accurate duration object given two dates (extracting months and milliseconds)
[x] More accurate bubbling of milliseconds to months (taking into account days-per-year and leap years)
[x] relativeTime now works with duration objects instead of mere milliseconds
[ ] fix broken tests -- oh well, hopefully wouldn't break anybody's flow

@icambron maybe a careful code review, I'll fix the tests at some point in the future.