Makes `Model#all` evaluate lazily, use params in many common queries

Also using `neo_id` instead of ID property for certain queries. It's safe when dealing with persisted objects and much faster.