Possible code improvement suggestion: Use `is not None` rather than bool() for None check
#### Code Sample, a copy-pastable example if possible

While going through the code I observed at couple of places where `bool(o)` is being used to check whether the object `o` is `None`. 

Example 1: https://github.com/pandas-dev/pandas/blob/6620dc67ded40c76e466c70027abd012898bbbb1/pandas/core/strings.py#L449
Example 2: https://github.com/pandas-dev/pandas/blob/6620dc67ded40c76e466c70027abd012898bbbb1/pandas/core/strings.py#L821

#### Problem description

`bool(o)` is several times slower than `o is not None` (see below). In the above cases however, majority of the time indeed is being taken by the `re.search` and therefore it might not matter for the overall time. But, why not switch to the possibly correct version? 

Moreover, the functionality remains the same as `re.search` and `re.match` return `None` when they cannot find a match; which is fundamentally what is being checked in this code. 

![image](https://user-images.githubusercontent.com/482709/76699465-e7d0aa80-666a-11ea-88db-e54dc91877fb.png)
