Add startup time step capability for FunctionDT.

Addresses issue 3767. Also removes some unused code and switches the sync times to use a std::set.
Change to "...even if it means..."