add date/diff, date/startOf, date/isSame

work in progress, just to get the discussion going and so other people don't spend time implementing the same features.

missing documentation and still need to throw errors if user supplies an invalid *period* (year, month, day, ...)

see #80, #28

PS: while coding the `diff` method I also found out that moment.js implementation is wrong for months/years so we should report the problem and fix to them. It's way harder than it seems.