Add Javadocs and fix some codes

- Add Javadocs
- Improve capsulation
- Modify the class `Query` to have fluent interfaces
- Add the class `Query.Filters`
- Add the class `UpdateOperations`