Changes:
* Tutorial: Add more advanced Categorical instantiation example
* Fixes FAString.substr()
* Changes to count_uniques fixing regression issue
* Code change: Add 'duplicates' param to rt.cut()
* Add support for Pandas-2.0
* Fix regression with mask_xxx() involving scalars.
* Remove ipykernel runtime requirement
* Docstring: Cat.category_array
* Docstring: cat._fa
* Avoid IPython-8.13 on Python-3.8
* In GroupByOps.count_uniques, correctly handle the cases when filter excludes...
* Add cat shift filter
* Code update for fa.fill_internal_invalid
* Make GroupByOps.nth() abstract
* Add 'columns' kwarg to rt.Dataset.trim method
* Docstring: fa.duplicated
* Docstring: fa_copy
* Docstring: fa_between
* Add black format check (EX95)
* Pin to riptide_cpp-1.12.2
* Docstring: fa.nunique
* Docstring: fa.shift
* Docstring: rt.cut()
* Docstring: fa_sample
* Docstring: fa._np