More robust `None` handling
I also created a PR regarding `disable_nullable` that must be always `False` by default, in order to always allow None values
https://github.com/huggingface/datasets/pull/3211
PyArrow has explicit support for `null` values, so it makes sense to support Nones on our side as well.

Changes:
* allow None for the features types with special encoding (`ClassLabel, TranslationVariableLanguages, Value, _ArrayXD`)
* handle None in `class_encode_column`
* support None sorting in `sort` (use pandas for that) 

TODO:
- [ ] check how the Audio features behaves with Nones
- [ ] Better None handling in `concatenate_datasets`/`add_item`
- [ ] Fix formatting with Nones
- [ ] Tests

Fix #3181 