Operator overload support for Query components, support at the Property level for overloading so we can spec query filters and sorts. Filters and Sorts (`QueryComponent` children) are now constructable and encapsulated properly by `Query`. `Model.query` now generates `Query` objects and appropriately passes-on kwargs/args and local model kind.