More data repository cleanup.

- Replaced list() with query()
- Updated Filter api to make more generic
- Simplified Handle hierarchy