Fixups for categoricals

This PR will collect the various fixups for Categorical.

See #8078 for the ToDos.

Closes: #8077 -> API/FIX: wrap result cut/qut in Series and make it ordered
Closes: #8074 -> Discussion
Closes: #8078 -> Todos

This has a (passing) unittest for #8138 but no code changes. Not sure what was the change which fixed the bug there...
in most cases the resulting categorical data will be ordered: lists/Series of numbers and strings are sortable, so will end up ordered. Probably only lists/Series of (mixed or unsorable) objects will end up unordered:

```python
    def test_constructor_unsortable(self):

        # it works!
        arr = np.array([1, 2, 3, datetime.now()], dtype='O')
        factor = Categorical.from_array(arr)
        self.assertFalse(factor.ordered)
```