This removes our nightly requirement but sadly it adds a requirement for
things that are kept inside a Python class to be Send. Luckily for us
almost everything in Tantivy is Send, except for the Query trait.
This patch works around this by keeping the parser and query string
inside our python Query object. This sadly means that we are going to
parse the query string twice.
Ordering the search result by a field requires the field to be set up to
support this at the index creation time. If it wasn't properly set up,
such a search would crash the Python interpreter.
Until a search returns an error that we can convert to a Python
exception this feature will unlikely be supported.
The new() method using pyo3 does not return self, pyo3 handles some
python magic for us instead.
Disable the clippy warning about not returning self in new since it does
not apply to us.