Restructure CFood and Crawler
The Crawler and AbstractCFood was changed such that CFoods are now only responsible for doing specific tasks and the Crawler does overarching stuff (caching, providing general tools, etc) CFoods can now do the matching with a class method and single instances can store identifiables in instance variables. This makes writing of CFoods less clumsy.