Add ago and since method to Duration instances

removed custom object returned from intervals applyied to numbers,
replaced with Duration, added ago and since to Duration to replicate old
behaviour
For since and ago the implicit parameter is now
moment.between is more readable than moment().range()
Methods on Moment to create a DateRange

`tillNow` and `toNow` to create a `DateRange` from a `Moment` to now,
both are using the generic method `to`
create DateRange with moment.last or moment.next

create DateRange instances with intervals of time before now
(moment.last) of after now (moment.next) in a pretty readable way like
moment.last(30).days() or moment.next(10).minutes()
Removed duplication in Number.prototype extension
DateRange could create an array of moments

forEach method on a DateRange without a callback creates an array of all
the moments in range separated by the given duration
Forgotten hours as valid time interval
Notes on what to do next
Wrap result of forEach on DateRange with LoDash

forEach on DateRange without a callback creates an array of moments, the
property `_` of this array is the same array but wrapped with LoDash so
that with `result._` all LoDash collection methods could be used
Convert DateRange to Duration