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.