BUG: Fix bug when using df.query with "str.contains()"
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Fixes bug in on line 588 of `pandas/core/computation/expr.py`: `AttributeError: 'dict' object has no attribute 'append'`

Also addresses the specific example in #22172

Example:
```python
import pandas as pd
df = pd.DataFrame([["I", "XYZ"], ["IJ", None]], columns=['A', 'B'])
df.query("B.str.contains('Z', na=False)", engine="python")
```

```
Traceback (most recent call last):
  File "./test_query.py", line 12, in <module>
    result = df.query("B.str.contains('Z', na=False)", engine="python")
  File "./lib/python3.6/site-packages/pandas/core/frame.py", line 2847, in query
    res = self.eval(expr, **kwargs)
  File "./lib/python3.6/site-packages/pandas/core/frame.py", line 2962, in eval
    return _eval(expr, inplace=inplace, **kwargs)
  File "./lib/python3.6/site-packages/pandas/core/computation/eval.py", line 291, in eval
    truediv=truediv)
  File "./lib/python3.6/site-packages/pandas/core/computation/expr.py", line 739, in __init__
    self.terms = self.parse()
  File "./lib/python3.6/site-packages/pandas/core/computation/expr.py", line 756, in parse
    return self._visitor.visit(self.expr)
  File "./lib/python3.6/site-packages/pandas/core/computation/expr.py", line 321, in visit
    return visitor(node, **kwargs)
  File "./lib/python3.6/site-packages/pandas/core/computation/expr.py", line 327, in visit_Module
    return self.visit(expr, **kwargs)
  File "./lib/python3.6/site-packages/pandas/core/computation/expr.py", line 321, in visit
    return visitor(node, **kwargs)
  File "./lib/python3.6/site-packages/pandas/core/computation/expr.py", line 330, in visit_Expr
    return self.visit(node.value, **kwargs)
  File "./lib/python3.6/site-packages/pandas/core/computation/expr.py", line 321, in visit
    return visitor(node, **kwargs)
  File "./lib/python3.6/site-packages/pandas/core/computation/expr.py", line 588, in visit_Call_35
    kwargs.append(ast.keyword(
AttributeError: 'dict' object has no attribute 'append'
```
