Store the last-fetched dates in a db so we can make up for lost time.

Summary:
If a fetch fails, we want to try to get that data the next time
around.  Now we can do that, because we store the time of the last
successful fetch, and use that when determining what data to send to
graphite.

Fix a logic-o for the case start_time_t is missing.

Test Plan:
Fingers crossed.  Will test on toby once this is committed.

(same)

Reviewers: chris

Reviewed By: chris

Differential Revision: http://phabricator.khanacademy.org/D9595