add Feed models, refactor the feed fetcher, add ElasticSearch dep