CLN: improve is_unique check in Index.intersection
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`

```
       before           after         ratio
     [e99e5ab3]       [79d6a50f]
     <cln_intersection~1>       <cln_intersection>
-        918±20ns          819±2ns     0.89  index_object.Range.time_min_trivial
-         465±7ns          414±7ns     0.89  index_object.Range.time_get_loc_dec
-         464±6ns          411±7ns     0.89  index_object.Range.time_get_loc_inc
-      16.6±0.7ms      12.6±0.03ms     0.76  index_object.SetOperations.time_operation('date_string', 'union')
```

Seems to have no impact.

cc @jreback

ok let's merge this for 1.2, thought it would have more of an impact. moving this off 1.2 for a refactor Added the unique check to Index.unique. Categeorical.unique does remove values which are not within the categories. If we want to keep this, we can not add a check for uniqueness can you run relevant benchmarks and see if this makes any difference? asvs in index_object:

```

       before           after         ratio
     [e99e5ab3]       [aba0f2a3]
     <master>         <cln_intersection>
-        47.6±1ms       41.4±0.2ms     0.87  index_object.SetOperations.time_operation('strings', 'intersection')
-      17.0±0.2ms       13.7±0.5ms     0.80  index_object.SetOperations.time_operation('date_string', 'union')
``` LGTM thanks @phofl 