TODO
====

  * Expire feed history

    The feed cache doesn't currently expire old entries, so could get
    large quite rapidly.  We should probably have a config setting for
    the cache expiry, the trouble is some channels might need a longer
    or shorter one than others.

  * Allow display normalisation to specified timezone

    Some Planet admins would like their feed to be displayed in the local
    timezone, instead of UTC.

  * Support OPML and foaf subscriptions

    This might be a bit invasive, but I want to be able to subscribe to OPML
    and FOAF files, and see each feed as if it were subscribed individually.
    Perhaps we can do this with a two-pass configuration scheme, first to pull
    the static configs, second to go fetch and generate the dynamic configs.
    The more I think about it, the less invasive it sounds. Hmm.
