CachedSession now caches walk requests...

... and in addtions stores the received values as get results.
This reduces the number of Get PDUs sent on iteration of tables.

Previously
```python
for i in m.ifDescr.items():
    print(i)
```

would result in one walk of ifDescr to get the indices and one get
request per value.