Introduced a common abstract base class for TProgramUpdateCheckerThread and TDatabaseUpdateCheckerThread that provides common functionality. This new class also takes on the work of the TUpdateCheckerConfig class, which was removed.
Revised to support user-specified update frequencies. (Previously only check is user had given or denied permission to perform updates and used a 1 day frequency.