Fix timezone issues, adopt moment-timezone

Fixes a number of timezone issues.
- Upgrade to moment version 2.4.
- Adopt moment-timezone across project to provide more solid timezone support that is independent of the system timezone.
- Centralise moment import to date-functions mixin and use in all base classes.
- Remove our timezones helper, consolidate date-range mixin into date-functions.
- Never use global reference to moment as this is deprecated and produces a warning.