svtools: don't dereference invalid iterator

Can be reproduced by opening Data Sources in Writer and closing
document.

Change-Id: I703ceffee3a1896acd06076d8b77085e8785acd3
sd: PPT export: fix assert on 0-length text portions

Not sure if such are legit, but this should fix the crash.

Change-Id: Idf8a3a67ddae464533d431f1a6a2ebea6d6c2213
fdo#70198: sw: don't truncate Time values on 32bit platforms

SwDoc::SetFixFields() uses sal_uLong to store Time.GetTime() which needs
64 bits.

Also fix same problem on Time fields in HTML import.

(regression from 9830fd36dbdb72c79703b0c61efc027fba793c5a)

Change-Id: I5d0388cbc364e1f9dfb60ff9e83c7d2f101c69d8
editeng: fix more 32-bit Time breakage

SfxDateTimeItem and SvxExtTimeField need to use 64-bit integer to store
Time as well.  These classes also have binary serialization
Load()/Save() methods but they are unlikely to be used in a persistent
way, just for the clipboard.

The problem is easy to reproduce in Impress: Insert->Field->Time(fixed)

(regression from 9830fd36dbdb72c79703b0c61efc027fba793c5a)

Change-Id: I5946c5b94dd5a509805b6dc40461bbd910caffc4
svl: remove SfxDateTimeItem, which is actually unused

... since 2f44516d6c3fce6ebe372214ce4bfa11875bd3d1

Change-Id: I25905a69464a43e12fcbb4770c8b0e171ab3271b
fdo#70278: editeng: fix Time fields in Impress

Apparenty an uninitialized SvxTimeField is created instead of the
SvxExtTimeField that is needed to preserve the value and format.

(regression from ee5fc5d25fe102c30daf7d181b8181d40b85a4f3)

Change-Id: I36b16af0c143e8b5451a1925806756492dc2334e
sax, xmloff: fix ODF import/export of text:time/text:time-value

The value written for an Impress time field is something like
text:time-value="0000-00-00T23:28:07" (in LO 3.5+) or
text:time-value="0-00-00T23:28:07" (in OOo 3.3) which contains an
invalid all-zero date.  Such values are actually rejected by the
ODF import since commit ae3e2f170045a1525f67e9f3e9b7e03d94f2b56b.

Actually there was no real support to read the RelaxNG type
timeOrDateTime before.

So fix that by:
- adding convertTimeOrDateTime/parseTimeOrDateTime functions to
  sax::Converter
- recognizing and ignoring the 2 invalid all-zero values written by
  LO 3.5 and historic OOo respectively
- writing a bare "time" in text:time-value if the DateTime struct
  contains zero Date members
  (Older OOo versions and AOO cannot actually read that, but everything
  they _can_ read is invalid ODF...)

Change-Id: I754076caee74a5163ed3f972af0f23796aa14f9f