XD-670: Add TAB Completion for existing stuff

This provides a nice help every time an argument expects an existing entity. Works with all the things.

![all the things](https://f.cloud.github.com/assets/313494/946758/45d0c672-033c-11e3-9af6-c6f51c0f4997.png)


Currently uses no caching, but works like a charm. Also simplified client code here and there.