Add support for locales missing from babel

Babel>=1.0,<1.3 has a bug where some OpenStack supported
locales like 'zh_CN' and 'zh_TW', aren't supported, see:
https://github.com/mitsuhiko/babel/issues/37

In Babel 1.3 they fixed the bug and they support these locales, but
they are still not explicitly "listed" by locale_identifiers(). That's
why we add the locales if necessary so they are listed as supported
otherwise when validating supported locales for the transalated log, we
would fail to allow them even if there are .mo files for
them.

Change-Id: Ie61539a709808dfea690a59602be94347fcfbbb9
Fix mocking of utcnow() for model datetime cols

Now when we are going to deprecate timeutils.set_time_override()
and use mock instead, it easy to hit the following gotcha: when
testr does tests discovering, it imports all modules within a given
directory and it might happen that common.db.sqlalchemy.models
is imported before timeutils.utcnow() is mocked in a test case.
In this case the SQLAlchemy model will save the reference to the
original timeutils.utcnow() function, which will be called later
when the model will be saved to a DB, if created_at or updated_at
value aren't provided.

In order to overcome this we can defer resolution of timeutils.utcnow
reference by passing lambda functions to SA Column __init__().

Related-Bug: #1266962

Change-Id: I7adce90eacb4a3f334d77da7b4a176c31ff818ed
Merge "Fix mocking of utcnow() for model datetime cols"
Merge "Add support for locales missing from babel"