Minor Query and DataService interface updates + small changes/fixes 

- Improve documentation
- Remove getAttributes/setAttributes (not used by implementations)
- Add DataService.findAll(String) method
- Query.getRules returns inmutable list
- Bug fix: Query(QueryRule) stores rule in mutable list