Major refactoring

1. Separate domain object from parsing logic
2. Isolate public high level api
3. Refactor feed parsing concept
4. Update materials/changeset parsing logic
5. Introduce eager_parser concept