[FIX] fields.date[time]: context_today()/context_timestamp() should fallback to user TZ if context TZ is missing

This takes care of cases where the context is missing,
e.g. for workflow-based operations, and is similar
to the way tools.translate._() falls back to the user
language.

Backport of 7.0 fix from bzr revid: odo@openerp.com-20130111175717-u8r1t7s8872bz2rx

lp bug: https://launchpad.net/bugs/949516 fixed
[FIX] Calculate date interval using super user time zone

When you set the date of a cron the July 1st at midnight, if the user
time zone has a positive offset, then the converted UTC date is the
June 30th and adding 1 month will end up on July 30th translating to
July 31th instead of September 1st.

To solve this issue we use the super user time zone for the date
calculation.