[PATCH] ISO-8601 dates patch #1 - please see

On advisory from sussman I am re-submitting this patch with a log
message here. I am unavailable during the weekend and will be back
sometime next week. This patch should make in before the next tarball
is rolled. So there's a few ways to do this.

1) If no-one says anything at all, I will be committing this patch in
about 12 hours. That would be around noon GMT.

2) If someone volunteers to take care of the patch and commit it, I'll
leave it to him.

3) Someone has an objection to make, in which case I'll leave the
matter for next week.

TIA,
-- Naked

Log message:
---------------------------------------------------------------------------
This is the first part of the changes for issue 614, eg. to make svn
use ISO-8601 timestamps.

It makes svn_time_from_nts understand a new style of timestamps,
roughly looking like this:

2002-05-13T19:00:50.966679Z

For now, the code still generates old style timestamps, but that is to
be fixed after the next tarball is out.

* subversion/svn/subversion/libsvn_subr/time.c (timestamp_format):
Change format to the new format.
(old_timestamp_format): New variable.
(svn_time_to_nts): Use apr_time_exp_gmt to get the time in GMT.
Add commented version for printing the new format, but use the old
format still.
(svn_time_from_nts): Make it understand both new and old formats.

* subversion/svn/subversion/tests/libsvn_subr/time-test.c: New file,
tests for the time conversion functions, both new and old format.

* subversion/svn/build.conf (time-test): Added building of the new
test.
---------------------------------------------------------------------------

- apr_time_exp_lt (&exploded_time, t);
+ /* We get the date in GMT now -- and expect the tm_gmtoff and
+ tm_isdst to be not set. We also ignore the weekday and yearday,
+ since those are not needed. */
+
+ apr_time_exp_gmt (&exploded_time, t);
+
+ /* It would be nice to use apr_strftime(), but APR doesn't give a
+ way to convert back, so we wouldn't be able to share the format
+ string between the writer and reader. */
+ /* XXX: Enable this bit of code and remove the one below when a
+ bootstrap tarball has been released with this change included.

-/* ### todo:
-
- Recently Branko changed svn_time_from_string (or rather, he changed
- svn_wc__string_to_time, but the function's name has changed since
- then) to use apr_implode_gmt. So now that function is using GMT,
- but its inverse above, svn_time_to_string, is using localtime.
-
- I'm not sure what the right thing to do is; see issue #404. See
- also the thread entitled "apr_implode_time and time zones" in the
- APR dev mailing list archives:
-
- http://apr.apache.org/mail/dev/200106.gz
-
- That discussion between Branko and David Reid is directly
- relevant.
-
- Note that Subversion repositories probably want to record commit
- dates in GMT. Maybe we should just make Subversion's string
- representation for times always use GMT -- that's good for
- repositories, and for working copies it doesn't really matter since
- humans don't have to read the timestamps in SVN/entries files much
- (and when they do, they can easily do the conversion). */
-
-
apr_time_t
svn_time_from_nts (const char *data)
{
@@ -126,26 +129,56 @@
char wday[4], month[4];
apr_time_t when;