Add some very basic caching behavior.

A `MAX_STALENESS` in number of seconds governs whether or not the
update method actually does any fetching. This is pretty much a
stand-in until some more thoughtful caching is implemented.

The update method accepts one parameter, defaulting to false,
that determines whether a hard fetch is done regardless of the
staleness.

Ideally, staleness would be based in whole or in part on the
historical update frequency for each individual feed. The update
method would also return something more useful than `true`:
perhaps any new item(s) since the last update.