First parse at an OPML importer

This is ported over, so it may break in subtle ways. I've done some preliminary
testing here, but nothing too rigorous.