Topics() provides a cleaner interface to extract queries from a TREC topic file. It takes care of handling older TREC topic formats, and hands SysTerrier() a neater blob of text. SysTerrier writes out a shorter XML for Terrier to work with. Contrary to what Terrier's documentation says, it is unable to parse the old SGML TREC topics. Lastly, Topics.query() is refactored to separate punctuation removal.