core: TimeoutBase: Prevent updating mutable Date

TimeoutBase contains a java.util.Date member, mEndTime. The value of
this member can be passed into (by setEndTime(Date)) and out of (by
getEndTime()) the class. Since java.util.Date is a mutable class, the
end time of the TimeoutBase may be manipulated, maliciously or
mistakenly, by someone holding a reference to that object.

This patch removes this vulnerability by replacing this member by a
simple primitive long, representing the unix time
(System.currTimeMillis()), since the Date semantics (e.g., DST) isn't
used anyway.

Change-Id: Icd77e518369fa25bfe684d249d12e0f8e2bb1a0f
Signed-off-by: Allon Mureinik <amureini@redhat.com>