PERF: avoid is_bool_indexer check where possible
xref #30349, not a lot of ground to pick up here, but we can avoid a few calls
> does this make any difference or just moving code around?

This should not change any behavior.

> prefer you just do a return rather than assign and return

I like doing it in two lines inside try/excepts so i can see in coverage measurements whether the call is ever successful can you rebase; i am not sure if @jorisvandenbossche had more comments. Just my question from above: Can you show some timings? > Can you show some timings?

It's pretty small (especially since is_scalar and is_iterator were recently optimized)

```
In [1]: import pandas as pd 
   ...: import numpy as np 
   ...:  
   ...: ser = pd.Series(range(10**5)) 
   ...:  
   ...: indexer = np.random.random(10**5).astype(bool) 
   ...:                                                                                                                                                                                                                                           

In [2]: %timeit ser[indexer]                                                                                                                                                                                                                      
220 µs ± 3.93 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)  # <-- master
213 µs ± 9.02 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)  # <-- PR
``` And with a scalar indexer? for the scalar case I expect the difference to be zero, or even slower by the amount of a `isinstance(self.index, MultiIndex)` check

```
In [4]: %timeit ser[999]                                                        
1.85 µs ± 81.1 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)  # <-- master
1.82 µs ± 57.6 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)  # <-- PR
``` > or even slower 

That's what I expected as well.

(in general, if you do changes specifically for performance, it's helpful for reviewing that you show some relevant timings) @jorisvandenbossche pls make sure labels and versions on the issue and PR are good before merging