Added timezone support via moment.js.

Note that if moment.js is available it will be used instead of
direct date calculations. However, there is a noticeable performance
penalty for using moment.js - the unit tests take ~15 seconds to
execute vs. ~2 seconds for direct date manipulation.