Be more careful about JSON date serializing

In [1]: from Products.CMFPlomino.PlominoUtils import json_loads, json_dumps, Now
In [2]: json_loads(json_dumps(Now()))
Out[2]: DateTime('2013/10/21 19:26:48 GMT+7')
In [3]: json_dumps(Now())
Out[3]: '{"datetime": "2013-10-21T19:26:58+07:00", "__datetime__": true}'
In [4]: Now().ISO()
Out[4]: '2013-10-21T19:29:25+07:00'
Test date serialization
DateTime can take a datetime instance, and pays attention to its timezone
Fix StringToDate invocation

'%z' in the format spec is invalid. This was raising a ValueError,
which was being caught. Pass format=None, so dateutil.parser.parse
is called. This understand the format we have here.
Test against the instance timezone
Hide from Plomino's translation monster

`__datetime__` gets changed into `datetime`.
See https://github.com/plomino/Plomino/issues/453
Attempt to document and debug

- Let values on `request` trump (default) computed value if editable.
- Don't ignore `request` parameter (i.e. don't use
  `self.context.REQUEST`).
The value of a date field should already be a date

If it needs to be coerced to a date, that needs to happen when setting
the value, not when reading it.
DateTime JSON serialization changed
Exciting, the order of the dict changes -_-
This is fixed already on another pull request

... just fix it here too to make tests pass.
Merge pull request #454 from plomino/jean-BaseField-getFieldValue-default

`BaseField.getFieldValue` default handling
Merge pull request #455 from plomino/jean-setup-tempdoc-for-hidewhens

Setup tempdoc for hidewhens
Merge pull request #452 from plomino/jean-json-loads-dumps

Be more careful about JSON date serializing
Merge remote branch 'origin/github-main' into jean-setup-tempdoc-for-hidewhens
Push datagrid handling down into TemporaryDocument

Only `readInputs` if we aren't getting data from rowdata.
(I *think* this is the right way.)