Years and months convert to whole number of days with duration as getters

This is an attempt at fixing #1884.

Also `days in one month` and `days in one year` yield floating point numbers in google.com, which is intended to be much more user friendly than moment (moment is developer friendly :)).

The `as` getters are intended for conversion, and this is exactly what we do here. It just `looks broken` as @jsmreese put it. @icambron what do you think?

@jsmreese -- on the other hand if you don't want to display floating point numbers to the client you can just round them. I hope you're not using moment to convert 1 month into 30 days, but instead -- variable (possibly unexpected) input into days, which will most probably yield a non-natural number of days.

TODO:
- [ ] tests for all possible input and output units