Fix values_list/values_dict

This fixes `values_list()` and `values_dict()` so that everything works the same in both
ES 0.90 and 1.0.

Further it documents the details.

It also fixes some goofy stuff in the test harness.

Probably some other things.

r?
My initial thought is wrong. Plus this is broken:

```
>>> S().values_list().values_list('id').build_search()
{'fields': ['id']}
>>> S().values_dict().values_dict('id').build_search()
{'fields': ['*', 'id']}
```

The `values_list()` is right, but the `values_dict()` is wrong. I'll fix that today.