Track feed history separately with Feed2Email::FeedHistory

This is more foolproof: if there's a crash, only the current feed's
history is lost (previously all history up until that point).

It is also more memory-efficient: the single history file used
previously could grow a lot given enough feed subscriptions and time.

Also, syncing is now skipped if history has not changed.
Replace some attr. readers with private methods

They exposed instance variables without being used externally.