Properly handle missing attributes in query/eval strings
Consider this script:

```python
import pandas as pd

pd.eval("pd.thing")
```

Currently it raises an error like this:

```
  File "/home/alex/work/pandas/pandas/core/computation/expr.py", line 640, in visit_Attribute
    raise ValueError(f"Invalid Attribute context {ctx.__name__}")
AttributeError: 'Load' object has no attribute '__name__'
```

Adding `__class__` to that line changes the error to the more sensible:

    ValueError: Invalid Attribute context Load

Re-raising the original error gives what's really needed:

```
  File "/home/alex/work/pandas/pandas/core/computation/expr.py", line 631, in visit_Attribute
    v = getattr(resolved, attr)
  File "/home/alex/work/pandas/pandas/__init__.py", line 260, in __getattr__
    raise AttributeError(f"module 'pandas' has no attribute '{name}'")
AttributeError: module 'pandas' has no attribute 'thing'
```

I don't know what the failure "[codecov/patch — 0% of diff hit (target 50%)](https://codecov.io/gh/pandas-dev/pandas/compare/4018550c796f9b23369267565b8ab8c87b9d14ad...f392c60f8a83c26d2cb3e4d854b9a3ba3b44511d/changes)" means. Am I supposed to write tests for this change? can you add a whatsnew note for 1.1, in the Other bug fix section thanks @alexmojaki will merge on green. Presumably that docs failure is for unrelated reasons?

    no theme named 'pandas_sphinx_theme' found (missing theme.conf?)
 > Presumably that docs failure is for unrelated reasons?
> 
> ```
> no theme named 'pandas_sphinx_theme' found (missing theme.conf?)
> ```

I _think_ fixed by #32840. can you merge master [1 failed test in 1 job in 1 build: `numpy array values are different (2.0 %)`](https://travis-ci.org/github/pandas-dev/pandas/jobs/670723319?utm_medium=notification&utm_source=github_status)

Again, unrelated. Can you merge master again and re-push? Should be fixed on master The last build succeeded 5 hours ago, but github hasn't been updated. I've never seen that before. Thanks @alexmojaki 