[Persistence] Specify last modified (derby compatibility)

Apache Derby does not support
ON UPDATE CURRENT_TIMESTAMP, which is used
in prior commits to match modified time to
that read from database. As an alternative,
use time read from database during polling
to estimate the current database time when
persisting components (adjusting for the
local time elapsed since the database time
was last read.)
[Persistence] Poll broader range of time stamps

Look back one extra polling interval when
checking for updated last-modified times.
These are estimated by the client and may
not reflect precise database CURRENT_TIME
at the time of commit, whereas polling
does use precise CURRENT_TIME. This may
result in redundant updates but should
avoid missed updates, except in cases of
extreme latency.
[Persistence] Update lastModified when deleting

When deleting components, update the last
modified field of parent components at
the time that the reference is removed.
[Persistence] Check for null on last modified

Check time is null when updating last modified time
on component delete. This is primarily a concern for
unit tests where current time from database may not be
available.